当前位置: 首页 > news >正文

工单管理系统建设方案

1.1 系统概述

1.1.1 需求描述

1.1.2 需求分析

1.1.3 重难点分析

1.1.4 重难点解决措施

1.2 系统架构设计

1.2.1 系统架构图

1.2.2 关键技术

1.3 系统功能设计

1.3.1 工单创建

1.3.2 工单管理

1.3.3 工单处理

1.3.4 工单催办

1.3.5 工单归档

1.3.6 工单统计

软件项目全套资料获取(从立项到结项):软件开发全套资料_数字中台建设指南-CSDN博客

1.1.系统概述

1.1.1需求描述

根据告警管理系统产生的告警信息,或通过站点巡检管理系统发现提交的运行隐患信息,形成处理流程,安排区域技术人员,对隐患和故障信息进行确认、处理、反馈,并由管理人员确认流程关闭状态,形成业务闭环,提升维修效率和准确度,以保障系统的正常可靠的运行。

1.1.2.需求分析

为保证业务线的正常运行,需要对报警、巡检异常情况进行及时处理,处理过程中管理层可随时对工单进行督查督办。

监测过程中如果出现报警信息,系统将告警信息推送到调度人员,调度人员接收消息后可进入告警监测页面根据告警信息判断是否需要发起工单,如果不需要则可以直接进行告警复归并录入复归原因,如果不能直接复归便可以进行一键生成工单操作,并选择确认人进行告警确认,确认人收到待确认告警消息后通过地图导航功能快速前往告警设备现场进行确认与排查,确认人现场排查过程中可对异常情况进行处理,如果不能处理时可下发维修、应急申请,由专业人员针对告警情况进行处理,针对处理结果进行反馈,反馈信息中需注明是否复归告警。

工单的另外一个重要来源为巡检管理系统,巡检组长接收到巡检任务后,根据任务情况拆分工单,并将工单派发给本组组员,组员收到工单后第一时间执行工单并上报信息。

领导层可随时查看工单执行情况,发表督查督办意见。

1.1.3.重难点分析

各子系统(巡检、维修、应急)之间的数据交互

工业监测数据的获取

告警复归

1.1.4.重难点解决措施

子系统之间可以通过按钮进行跳转,跳转时将工单的源ID带入子系统,子系统重新生成相关数据并执行子系统的业务流程。

通过读取或解析工业库、第三方SDK、API、协议的方式获取监测数据,对获取的告警类监测数据进行单独展示,如果出现告警,实时高亮显示并结合消息推送,第一时间告知管理人员告警信息,已做出最快的响应。

进行逻辑层告警复归,最终复归结果由监测设备实时反馈

1.2.系统架构设计

1.2.1.系统架构图

分层是表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。分层从逻辑上将子系统划分成很多集合,而层间关系的形成要遵循一定的规则。通过分层,能够限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。子系统的分组标准包括下面几条规则可见度。各子系统仅仅能与同一层及其下一层的子系统存在依赖关系。

数据层:针对数据进行映射和持久化,实现数据表的添、删、改、查操作。

服务层:主要表示WEB方式,如果逻辑层相当强大和完善,无论展示层和应用层如何定义和更改,服务层都能完善地提供服务。

展示层:通过服务层处理数据后进行直观的展示。

应用层:实现与用户的交互,用户通过应用层录入数据进行提交和查看响应。

1.2.2.关键技术

Android消息推送技术

实现Android手机客户端与App Server之间的通信协议,保证在App Server想向指定的Android 设备发送消息时,Android设备能够及时的收到。有以下三种常见方案:

l)轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。

2)SMS:在 Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图。这是一个不错的想法,我就见过采用这个方案的应用程序。这个方案的好处是,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,很难找到免费的短消息发送网关。

3)持久连接:这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。手机的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。不过这个方案也存在不足,就是我们很难在手机上实现一个可靠的服务。Android操作系统允许在低存情况下杀死系统服务,所以你的通知服务很可能被操作系统Kill掉了。

Quartz作业调度技术

Quartz是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间运行。Quartz可以用来创建简单或复杂的日程安排执行几十,几百,甚至是十万的作业数。

Quartz框架有一个丰富的特征集。事实上,Quartz有太多特性以致不能在一种情况中全部领会,下面列出了一些特征。

监听器和插件

每个人都喜欢监听和插件。今天,几乎下载任何开源框架,必定会发现支持这两个概念。监听是你创建的java类,当关键事件发生时会收到框架的回调。例如,当一个作业被调度、没有调度或触发器终止和不再触发时,这些都可以通过设置来通知你的监听器。Quartz框架包含了调度器监听、作业和触发器监听。可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。

一旦一个具体监听被调用,就能使用这个技术来做一些想要在监听类里面做的事情。例如,如果想要在每次作业完成时发送一个电子邮件,可以将这个逻辑写进作业里面,也可以写进JobListener里面。写进JobListener的方式强制使用松耦合有利于设计上做到更好。

集群Quartz应用

Quartz应用能被集群,是水平集群还是垂直集群取决于你自己的需要。集群提供以下好处:伸缩性、高可用性、负载均衡。

Quartz可以借助关系数据库和JDBC作业存储支持集群。

Terracotta扩展quartz提供集群功能而不需要数据库支持。

1.3.系统功能设计

1.3.1.功能清单列表

序号

功能点

描述

1

工单创建

根据告警信息创建工单。

2

工单管理

列表形式展示所有工单信息及进度状态。

3

工单处理

对接收的工单进行处理反馈。

4

工单催办

根据工单时效自动发送工单催办消息通知。

5

工单归档

对往期已完成工单进行归档操作。

6

工单统计

根据不同维度统计工单。

1.3.2.工单创建

工单创建分为两个来源,根据报警监测数据,对异常告警设备进行一键生成工单操作;根据巡检任务创建工单。工单创建时选择执行人员与办理时限,办理时限作为工单的重要参数,为工单执行人员的执行效率考核起到重要的参考意义。

1.3.3.工单管理

为领导层提供全局的工单督查督办功能,直观的展示工单的各个流程节点以及办理人信息,可以一目了然的了解工单执行状态、下一级执行人,对紧急工单可以发表办理意见,为执行人提供办理依据。

1.3.4.工单处理

工单执行人收到待办信息推送后,查看工单详情,根据导航信息快速前往工单所涉及位置进行异常确认,对于可以现场处理的异常情况进行及时处理,并图文记录处理过程进行上报,异常消除后反馈处理结果,逻辑复归异常告警,最终告警复归由工业监测设备上报;对于当时无法处理的告警,根据现场情况发起维修、应急申请,转入其它子系统进行处理,处理完成后需向工单系统反馈处理结果,并重置工单状态。

1.3.5.工单催办

系统根据工单处理时限自动发送催办消息,保证每一个工单能及时被处理人知晓,并进行办理。

1.3.6.工单归档

对于往年已完结工单进行打包归档,减少系统处理的数据量,提高工单查询刷新效率。

1.3.7.工单统计

根据工单来源、办理状态、执行人、是否逾期多维度统计工单执行情况,并对统计结果进行Excel数据报表导出。

相关文章:

工单管理系统建设方案

1.1 系统概述 1.1.1 需求描述 1.1.2 需求分析 1.1.3 重难点分析 1.1.4 重难点解决措施 1.2 系统架构设计 1.2.1 系统架构图 1.2.2 关键技术 1.3 系统功能设计 1.3.1 工单创建 1.3.2 工单管理 1.3.3 工单处理 1.3.4 工单催办 1.3.5 工单归档 1.3.6 工单统计 软件项目全套资料获取…...

什么是农业四情监测设备?

【TH-Q2】智慧农业四情监测设备是一种高科技的农田监测工具,旨在实时监测和管理农田中的土壤墒情、作物生长、病虫害以及气象条件。具体来说,它主要包括以下组成部分: 气象站:用于监测气温、湿度、风速等气象数据,为农…...

Java面试题:请解释Java并发工具包中的主要组件及其应用场景,请描述一个使用Java并发框架(如Fork/Join框架)解决实际问题的编程实操问题

文章标题:《Java内存模型深入解析与多线程并发工具类应用》 引言: 在Java的世界里,掌握内存模型和多线程并发是高级开发者的必备技能。Java内存模型(JMM)和多线程并发工具包为开发者提供了强大的能力,同时…...

boot应用打包

1.创建项目 2.编写 3.native构建 报错: [WARNING] native:build goal is deprecated. Use native:compile-no-fork instead. [INFO] Found GraalVM installation from GRAALVM_HOME variable. [INFO] Executing: S:\Coding\graalvm-jdk-17_windows-x64_bin\graalv…...

探索数据可视化:Matplotlib 多图布局

多图布局 子视图 import numpy as np import matplotlib.pyplot as pltx np.linspace(0,2*np.pi)plt.figure(figsize(9,6))# 创建子视图 # subplot(2,1,1)表示将当前图形分割成 2 行 1 列的子图网格,并在第 1 个子图位置绘制图形 ax plt.subplot(2,1,1) ax.plot…...

springboot262基于spring boot的小型诊疗预约平台的设计与开发

小型诊疗预约平台 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本小型诊疗预约平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理…...

Java项目修改源码jar文件(无需反编译)

文章目录 应用场景实现方案实现原理注意事项 应用场景 在项目中用了第三方的jar包,但是jar包内某个类不符合项目业务需求,需要修改第三方jar包源码文件内容。 实现方案 首先我们尝试直接修改jar包源码文件内容时,页面上会提示文件是只读的&a…...

java使用BatchPoints批量写入Influxdb

前言 使用时序数据库influxdb时,我们经常需要写入大量的数据。而单单使用influxDB.write(Point)进行单条写入时,速度过慢,无法支撑时序数据大量写入的速度。 所以我们需要采用批量的方式进行存储,增加写入…...

Java 集合类的高级特性介绍

在 Java 编程中,了解集合类的高级特性对于编写高效和可维护的代码至关重要。以下是一些你应该知道的 Java 集合类的高级特性,以及简单的例子来说明它们的用法。 1. 迭代器(Iterators)和列表迭代器(ListIterators&#…...

使用Docker搭建Caddy

使用Docker搭建Caddy,可以快速部署一个轻量级的、支持自动HTTPS的web服务器。下面将分别介绍使用Docker CLI和Docker Compose两种方式来搭建Caddy服务器,并给出配置文件示例以及参数解释。 使用Docker CLI搭建Caddy 首先,确保你的系统上已安…...

synchronized是重量级锁???

synchronized作为Java程序员最常用同步工具,很多人却对它的用法和实现原理一知半解,以至于还有不少人认为synchronized是重量级锁,性能较差,尽量少用。 但不可否认的是synchronized依然是并发首选工具,连volatile、CA…...

Linux之线程控制

目录 一、POSIX线程库 二、线程的创建 三、线程等待 四、线程终止 五、分离线程 六、线程ID:pthread_t 1、获取线程ID 2、pthread_t 七、线程局部存储:__thread 一、POSIX线程库 由于Linux下的线程并没有独立特有的结构,所以Linux并…...

Python实现线性查找算法

Python实现线性查找算法 以下是使用 Python 实现线性查找算法的示例代码: def linear_search(arr, target):"""线性查找算法:param arr: 要搜索的数组:param target: 目标值:return: 如果找到目标值,返回其索引;否则返回 -1…...

总结Redis的原理

一、为什么要使用Redis 缓解数据库访问压力mysql读请求进行磁盘I/O速度慢,给数据库加Redis缓存(参考CPU缓存),将数据缓存在内存中,省略了I/O操作 二、Redis数据管理 2.1 redis数据的删除 定时删除惰性删除内存淘汰…...

计算机设计大赛 疲劳驾驶检测系统 python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…...

什么是智慧公厕?智慧公厕的应用价值有哪些?

在现代社会,城市的发展与人民生活质量息息相关。作为城市基础设施中的重要一环,公共厕所的建设及管理一直备受关注。智慧公厕作为一种公共厕所使用、运行、管理的综合应用解决方案,正逐渐在智慧城市的建设中崭露头角。那么,智慧公…...

VideoDubber时长可控的视频配音方法

本次分享由中国人民大学、微软亚洲研究院联合投稿于AAAI 2023的一篇专门为视频配音任务定制的机器翻译的工作《VideoDubber: Machine Translation with Speech-Aware Length Control for Video Dubbing》。这个工作将电影或电视节目中的原始语音翻译成目标语言。 论文地址&…...

中科数安|公司办公终端、电脑文件数据 \ 资料防泄密系统

#中科数安# 中科数安是一家专注于信息安全技术与产品研发的高新技术企业,其提供的公司办公终端、电脑文件数据及资料防泄密系统(也称为终端数据防泄漏系统或简称DLP系统)主要服务于企业对内部敏感信息的安全管理需求。 www.weaem.com 该系统…...

PostgreSQL 安装部署

文章目录 一、PostgreSQL部署方式1.Yum方式部署2.RPM方式部署3.源码方式部署4.二进制方式部署5.Docker方式部署 二、PostgreSQL部署1.Yum方式部署1.1.部署数据库1.2.连接数据库 2.RPM方式部署2.1.部署数据库2.2.连接数据库 3.源码方式部署3.1.准备工作3.2.编译安装3.3.配置数据…...

《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

信任和安全的话题过于庞大,涉及很多数学知识,直接涉及 “正事” 反而不利于理解问题的本质,因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全,千万不要觉得数字世界是脱离物理世界的另一天堂,…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息&#xff1a;libc.so.6: cannot open shared object file: No such file or directory&#xff1a; #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

Python第七周作业

Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt&#xff0c;并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径&#xff0c;并创建logs目录&#xff08;若不存在&#xff09; 3.递归遍历目录data&#xff0c;输出所有.csv文件的路径…...

大模型真的像人一样“思考”和“理解”吗?​

Yann LeCun 新研究的核心探讨&#xff1a;大语言模型&#xff08;LLM&#xff09;的“理解”和“思考”方式与人类认知的根本差异。 核心问题&#xff1a;大模型真的像人一样“思考”和“理解”吗&#xff1f; 人类的思考方式&#xff1a; 你的大脑是个超级整理师。面对海量信…...