高分求助:电子文档的审核发行、版本控制方案细节

leon51 2018-09-03 09:47:45
假设有一些电子文档的审核发行、版本控制非常非常重要,如果最终用户用到了未经审核的错误文档、被未经授权篡改后的文档、不正确的版本文档,或不完整的文档等等,会导致非常严重的后果。

如果只是简单的设置文件夹权限显然不允完全满足上面的要求。初步的想法是文档编写好提交给审核人,审核人审核后释放,若需修改,则由审核人退回修改,Ok后再提交审核、释放。。。这些过程要如何控制?还有哪些细节要注意?需要用到哪些方面的知识?
专业人士可能码代码前先得确认、明确需求,进行可行性分析。但是,我就一个人,商量都没得商量,领导提了需求我就得想办法从无到有的实现。

大家有什么好的想法,请帮忙给点意见、提示,多谢!
...全文
477 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2018-09-07
  • 打赏
  • 举报
回复
内部可以用破解版
不花钱是不可能的,服务器总要钱的吧。
新开发成本比用现成的成品更高

云服务可以了解一下Office365 之类的,启动资金少,多用多花钱
  • 打赏
  • 举报
回复
“轨迹”的概念很简单。任何文档都有 ID,同时有一个 PrevID 来记录前一个前一个文档版本。这样你可以轻松地追踪文档轨迹,在页面上打印一个像淘宝的货物购销轨迹那样的 UI 效果,易如反掌。
  • 打赏
  • 举报
回复
工作流系统的所谓“数据库结构”还是异常简单的。你首先直观地理解,千万不要过分技术化........你假设从人员A修改了文档,然后传给人员B,这个时候传统的做法是“修改”。而工作流的做法是“拷贝”。就是这么一点差别!!!!

工作流系统通常还要支持规则匹配,例如针对文档中多种标签字段,可以设置"[number]>100 and [sign]='同意发货' and [date]>#2018/9/5#"这样的条件时将文档“拷贝”给B,其它条件下分别设置为将文档拷贝给其它人。这就是你说的“审核、流转”等操作。

工作流系统还需要做一个待办任务显示窗口,例如类似于“文件管理器”的窗口,来显示当前登录所实时收到的任务文档。

总之,只要你把传统的比较简单的“数据修改功能”改为理解为“数据拷贝功能”就可以理解工作流系统的本质了。这就好像是区块链,所有账本是不会被修改的,只会增加。或者说就好像是电影胶片,虽然所记录的电影内容可能有时间倒流看似循环,但是实现它的低级材质——胶片——是绝不会有什么时间倒流的的,永远是一格一格地前进着。工作流系统不存在修改、循环概念,任何人绝对不可能两次做同一个工作。

数据库设计(或者文件存储设计)上,你只要保证从不删除、从不修改已经提交的日志数据,这就能顺理成章地设计开发一个流程系统的数据库表。
  • 打赏
  • 举报
回复
实际上,数据库表设计是最底层的,最简单的。只要用心理解用心揣摩,就能想明白。

流程系统(以及其他业务应用系统)复杂地在于前端千变万化的需求。如果底层数据库表都要耗费大量时间去纠结,那么你就没有时间去真正把精力放到应该放的地方上了。
leon51 2018-09-07
  • 打赏
  • 举报
回复
引用
使用数据库做一个签批不是很方便么?为啥要搞那么复杂???或者用pdf文档中的协同办公也可以。多加几个权限。。。


数据库签批流程是怎么样的呢?能否给多一点提示。
leon51 2018-09-07
  • 打赏
  • 举报
回复
引用
简单说,只要是跨人员协同传送工作资料,就是任何改变都要有“轨迹”可以列出来,每一步都可以看到当初录入的界面。这就叫做“工作流系统”。

恩,一语中的,就是要的这个效果。
  • 打赏
  • 举报
回复
使用数据库做一个签批不是很方便么?为啥要搞那么复杂???或者用pdf文档中的协同办公也可以。多加几个权限。。。
xuzuning 2018-09-04
  • 打赏
  • 举报
回复
不知道你想要的是什么?
如果明明需要修改,而审核人却刻意放过,又会产生什么样的严重后果呢?
  • 打赏
  • 举报
回复
法律认可的是hashcode为基础的文件版本控制。
  • 打赏
  • 举报
回复
pdf?增加审核批注?然后电子签名?
assky124 2018-09-04
  • 打赏
  • 举报
回复
1. 把数据全存在 你的系统或者数据库中,流程走完再生成相应的文档
2. Sharepoint 好像内置了你的要求,可以研究一下,就是比较贵
  • 打赏
  • 举报
回复
但是有一个问题要注意,在工作流系统开发领域,有很多“骗子”是开发效率极低的、质量很差的。他们拿着简单的“报销单流程、请假单流程”来说明工作流系统有多么有用给,实际上就没有从 100% 的用户的灵活的表单界面需求出发。一旦从用户复杂和灵活的表单界面出发,实际上会发现,工作流系统只是最底层的一个简单技术,就好像是数据库增删改查的简单改进一样,真正的设计要从需求出发。如果你结合你的需求你就会发现,可能是业务复杂性就没有做到位,而不是底层什么日志系统——流程记录和待办通知——的问题。
  • 打赏
  • 举报
回复
引用 7 楼 leon51 的回复:
曾有反馈拷贝给别人的文件不完整,比如一个文件文件有1万行,可能使用部门打开只有5000行)


审核流程就能直接查出来流程中间的哪一个人干的。不过流程并不仅仅用来追查中间作弊的人,更好的做法是用来绩效激励、任务督办、改进服务质量。
  • 打赏
  • 举报
回复
简单说,只要是跨人员协同传送工作资料,就是任何改变都要有“轨迹”可以列出来,每一步都可以看到当初录入的界面。这就叫做“工作流系统”。
leon51 2018-09-04
  • 打赏
  • 举报
回复
引用
不知道你想要的是什么?
如果明明需要修改,而审核人却刻意放过,又会产生什么样的严重后果呢?


简单的说,我就是希望一些文件的修改、使用处于可控的状态,需要采用一些机制保证文件版本的正确性和文件的完整性(比如将审核OK的文档放在文件夹“Approved”中,然后使用部门再从此文件夹中拷贝。可能是由于文件没有拷贝完成就被使用部门从“Approved”再拷贝出来使用,曾有反馈拷贝给别人的文件不完整,比如一个文件文件有1万行,可能使用部门打开只有5000行)
leon51 2018-09-04
  • 打赏
  • 举报
回复
引用
不知道你想要的是什么?
如果明明需要修改,而审核人却刻意放过,又会产生什么样的严重后果呢?

最严重的后果会把公司搞垮
若审核人故意放水,系统程序是防不了的,这种事只能交给司法机关处理。
leon51 2018-09-04
  • 打赏
  • 举报
回复
引用
1. 把数据全存在 你的系统或者数据库中,流程走完再生成相应的文档
2. Sharepoint 好像内置了你的要求,可以研究一下,就是比较贵

没有数据库,全是保存的文本文件。如果是数据是保存在数据库中,也许我还有一些现成的可参考借鉴。
凡事花钱的就不要考虑了。

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧