天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3930|回复: 0

[Iscript] 分析我的工作中办理中和办理过的sql的区别【sql-我的工作】

[复制链接]
shary 发表于 2012-5-21 17:26:26 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-8-7 22:15 编辑

Q:怎么区分我的工作中办理中和办理过的sql语句
A:关于这两个业务的区别主要是根据查询涉及到表单对应的外键区分。结合一个例子具体区分如下:
--办理过
SELECT * FROM (select distinct doc.id DOCID,doc.formid FORMID,fs.flowid FLOWID,rhis.flowname FLOWNAME,doc.statelabel STATELABEL,pen.summary SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID,doc.DOMAINID  from  OBPM_APP.T_DOCUMENT  doc,OBPM_APP.T_ACTORHIS ahis,OBPM_APP.T_RELATIONHIS rhis,OBPM_APP.T_FLOW_INTERVENTION pen,OBPM_APP.T_FLOWSTATERT fs where doc.id=rhis.docid and rhis.id = ahis.nodehis_id and doc.id = pen.id and doc.id =fs.docid and doc.issubdoc is null and doc.parent is null and doc.state is not null and doc.statelabel is not null  and ahis.actorid in ('11e1-7f98-dc0c84d6-a04d-05b43c063ac2')) table_0 WHERE table_0.DOMAINID ='11e1-7f98-53d7e5e8-a04d-05b43c063ac2'
条件说明:
doc.issubdoc--是否为子表单
doc.parent--父表ID
doc.state--流程实例表T_FLOWSTATERT对应ID外键
doc.statelabel--流程状态标签
select docid from OBPM_APP.T_RELATIONHIS rhis --流程历史表
select ahis.nodehis_id from OBPM_APP.T_ACTORHIS ahis where ahis.actorid in ('11e1-7f98-dc0c84d6-a04d-05b43c063ac2')--根据操作人用户ID过滤流程审批人操作历史表信息
select id from OBPM_APP.T_FLOW_INTERVENTION pen--流程干预信息表
select docid from OBPM_APP.T_FLOWSTATERT fs--流程实例表
select state from OBPM_APP.t_document --t_document表中存储当前软件下所有动态表单数据
办理中数据特有的条件
doc.id = pen.id and doc.id =fs.docid and doc.id=rhis.docid and rhis.id = ahis.nodehis_id
--办理中
SELECT * FROM ( SELECT * FROM (select distinct doc.id DOCID,doc.formid FORMID,fs.flowid FLOWID,pen.flowname FLOWNAME,doc.statelabel STATELABEL,pen.summary SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID,doc.DOMAINID  from  OBPM_APP.T_DOCUMENT  doc,OBPM_APP.T_FLOW_INTERVENTION pen,OBPM_APP.T_FLOWSTATERT fs,OBPM_APP.T_NODERT node,OBPM_APP.T_ACTORRT actor  where doc.id = pen.id and doc.id =fs.docid and fs.id =node.flowstatert_id and  node.id = actor.nodert_id and doc.issubdoc is null and doc.parent is null and doc.state is not null and doc.statelabel is not null  and actor.actorid in ('11e1-7f98-dc0c84d6-a04d-05b43c063ac2')) table_0 WHERE table_0.DOMAINID ='11e1-7f98-53d7e5e8-a04d-05b43c063ac2' ) AS TB LIMIT 0,10
办理过sql未涉及到的表单
select flowstatert_id from OBPM_APP.T_NODERT node--流程实例表
办理中数据特有的条件
doc.id = pen.id and doc.id =fs.docid and fs.id =node.flowstatert_id and  node.id = actor.nodert_id

所有流程的完成节点 状态标签值都为“完成”,用下面语句获取办结流程:
SELECT * FROM (SELECT * FROM (select distinct doc.id item_DOCID,doc.formid item_FORMID,fs.flowid item_FLOWID,rhis.flowname item_FLOWNAME,doc.statelabel STATELABEL,pen.summary item_SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID item_APPLICATIONID,doc.DOMAINID  from OBPM_WOA.T_DOCUMENT  doc,OBPM_WOA.T_ACTORHIS ahis,OBPM_WOA.T_RELATIONHIS rhis,OBPM_WOA.T_FLOW_INTERVENTION pen,OBPM_WOA.T_FLOWSTATERT fs where doc.id=rhis.docid and rhis.id = ahis.nodehis_id and doc.id = pen.id and doc.id =fs.docid and doc.issubdoc is null and doc.parent is null and doc.state is not null and doc.statelabel='完成'  and ahis.actorid in ('"+userid+"')) table_0 WHERE table_0.DOMAINID ='"+domainid+"') AS TB LIMIT 0,10

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 16:08

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表