目前有一公文流程如下: 当A把公文发给B后,B处理时可以选择直接回复或转发给C,而C处理时亦可回复或转发给D...而关键是回复的时候也要按照顺序逐级回复,既D先回复给C,C再回复给B,最后B回复给A,由A完成归档... (也就是说整个过程是一闭环操作)而且还有一个关键就是要实现一发多, 也就是说 A 可以把一份公文同时发给B1,B2, 然后B1和B2也可以转发给各自的下属如C1,C2,然后回复也是逐级回复...发文:A -> B -> C -> D
回复:D -> C -> B -> A我想问一下大家怎样设计这一流程,可否给小妹一些具体代码参考? 最好给一些具体的函数代码.我现在能想到的办法就是在数据库上设置状态标志位...

解决方案 »

  1.   

    呵呵,直接要代码?ctrl+c & ctrl+v ok? no no 建议先搞清楚数据结构,即如何安排数据存储?
    结构清楚了,对象归纳好了,代码不难的,因为你这个是特定流程的应用,相比通用的要简单多了,有困难再联系:)
      

  2.   

    在数据库设置一个字段,增量记录每次提交人的ID,在页面上,转发只给下属的DorpDownList或者checkBoxList,回复只给Button,直接绑定上次发来人的ID,直接回复过去,以次类推想程序方便就用个表来跟踪文档的流程,每次记录转发人ID,或者就用一个字段用ID|ID|ID|ID的形式保存,不过程序就麻烦点,要分解
      

  3.   

    我现在也在做OA,,看到都头大!
    比做B2B都麻烦。。
      

  4.   

    单线流程问题不大!
    在数据库中加child和parent然后发送和回复可以在程序中判断!我也在做OA!请高手指点
    流程如下:
    A发送B和C,
    B,C有一个未通过返回A,流程终止
    如都通过的前提下再由A到D,如果D通过,再由B,C发送到下级,
    下级数量不定,任何一个下级如未通过,只能返回B和C,
    但无论你返回B或者C,另外一方(B,C)都要知道,再回A,A如确定必须通知任何拿到此文件的人,文件作废!
      

  5.   

    怎么都不用图论的思想来分析。
    用ROSE做一个状态图也可以分析出来啊。
    文字怎么描述的清楚!!
      

  6.   

    公文流转很简单的,我原来没事做写出来个玩玩过的,两个表就能搞定一个公文表加一个路径表就能满足你所说的闭环流转和一对多发的功能业务层处理也就三个大函数就能搞定因为是练手用的,所以没有写很详细的注释和文档,和你说说思路就可以了,我整理了一下,表的结构大概是这样的,给个参考,详细的你应该可以自己想出来RequestReport(申请表)
    列表示意义 列名 数据类型 约束
    报告流水号 Reportid Int PK 
    发送方ID Senderid Int FK NOT null
    审批状态 ReportpathSerial Int Not null
    发送时间 Senddate smalldate Not null
    接收时间 Receivedate smalldate
    保存者ID Keeperid Int FK NOT null
    审批意见 Reportcheck Varchar(500)
    报告标题 ReportCaption Varchar(120) Not null
    内容 Reportext Varchar(2048)
    是否属于批复 IsRevert Varchar(2) Check(‘y’,’n’)
    附件路径 Reportfilepath Varchar(50)
    备注:发送方发送时候,系统产生两条记录:保存者ID为发送方ID和保存者ID为接受方面ID的两条记录(在发送方和接受方各自删除自己方记录时候,对对方不产生影响)ReportPath(审批路径表)
    列表示意义 列名 数据类型 约束
    流水号 ReportPathid Int Pk 
    报告流水号 Reportid Int FK Not null
    报告路径序号 ReportPathSerial Int Not null
    父路径号 ParentPathId       Int      null
    签收人 ReportReceiverid Int FK not null
    (由申请者设置申请路径,父路径号为空则为第一层路径,往下发送的时候,会查找当前路径下的所有子路径点来发送)其实是很EASY的,我当初都是下班后无聊写着玩的,几天就能做出来了