`

BCDL JBPM流程相关1

    博客分类:
  • JBPM
 
阅读更多
--云南电信的有
private Date appDate; //提交审批那一刻的时间
private Date appTime; // 当前流程处理时间
private String appUsers; // 当前流程节点处理人 (当前节点处理人userName 多个则以英文","号分隔 )

--当用户从制单——》复核或者 复核--》到制单的话都要进入
BankAccountDaoImpl changeState

--加载在支付流程中的所有用户名(出纳用户)
public List<String> loadUserNameInProcess() {
StringBuffer hql = new StringBuffer();
hql.append("select tu.actors from TaskUser tu where tu.processTask.process.uniqueCode = :uniqueCode " +
" and tu.processTask.taskName = :taskName");
Query query = this.getSession().createQuery(hql.toString());
query.setString("uniqueCode", Constant.PAY_PROCESS_UNIQUECODE);
query.setString("taskName", Constant.TASK_NAME_ZHIDAN);
List<String> returnValue = query.list();
return returnValue;
}

--复核变慢,支付变慢,执行以下语句。
drop index jbpmtokenvariable;
drop index jbpmtaskinstance;
create index jbpmtokenvariable on JBPM_VARIABLEINSTANCE(TOKENVARIABLEMAP_);
create index jbpmtaskinstance on JBPM_VARIABLEINSTANCE(TASKINSTANCE_);


--流程表相关表,获取 usergroupid
select * from cmcs3_process_user_group;
select * from cmcs3_process p where p.processid = 1001;
select * from cmcs3_process_task_user u where u.usergroupid = 1020;
select * from cmcs3_process_task ;

--得到的是 支付流程对应的 复核节点 的复核人登录名
select u.actors,ug.id from cmcs3_process p,cmcs3_process_user_group ug,cmcs3_process_task_user u,cmcs3_process_task t
where p.processid = ug.processid and ug.id = u.usergroupid and u.processtaskid = t.processtaskid
and t.taskname = '复核' and p.uniquecode = 'ExternalPayments' and ug.id = ?;

-- 肖天晴批量复核
private boolean isCanApproval(String comment, TaskInstanceBean tib, Transition tran) {
if(tib.getTaskInstance().getName().equals("复核") && "同意".equals(comment)) {
return "送审批".equals(tran.getName());
}
return tran.getName().equals(comment + tib.getTaskInstance().getName());
}
tib.getTaskInstance().getName().equals("复核") --此方法和对象可以得到该节点人属于 复核 还是审批
tran.getName() --此方法可以知道用户选择是同意还是拒绝复核,审批

--获取流程组,同时判断是支付流程还是支付异常流程等
Object userGroupId = tib.getTaskInstance().getContextInstance().getVariable("userGroupId");
UserGroup userGroup = ServiceFactory.getInstance().getProcessService().loadUserGroup((Long)userGroupId);
request.setAttribute("isPayments", Constants.PAYMENT_UNIQUECODE.equals(userGroup.getProcess().getUniqueCode()));

--余额调节表的查看流程信息
select * from cmcs3_audit_detail ad;
--先根据账号ID 和对账区间 找到该条记录的 流程ID
--然后就可以像处理支付流程的那条SQL查询就行了

--查余额调节表提交审批走到哪个流程了的思路
先根据 subjectID 和 beginDate 找到这笔单据,然后得到 auditdetailid 和 processinstanceid ,然后根据流程ID得到相关的各个流程的节点信息,
相关SQL如下:
select ad.processinstanceid from cmcs3_audit_detail ad
where ad.subjectid = 1020 order by ad.begindate desc;
and ad.begindate = to_date('2012-01-01','yyyy-mm-dd');

--支付异常流程,先到下表中根据transferbillID 找到相应的 流程ID ,然后就可以像处理支付流程的那条SQL查询就行了
select e.* from cmcs3_transfer_error e
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    新人了解BCDL文档

    理解如何使用这些工具是提高生产力的关键步骤,它们可以帮助开发者组织代码、跟踪变化、自动化构建流程等。 文件名为“BCDL操作简单手册.wps”的压缩包内容,很可能是BCDL的详细指南,包含了逐步教程、常见问题解答...

    bcdl::headphone: 可以免费从 Bandcamp 下载专辑

    bcdl 从 Bandcamp 免费/付费下载您想要的专辑的脚本 我厌倦了声称从 Bandcamp 下载“FLAC”的脚本,而实际上只是翻录了网站使用的 128kpbs MP3 预览流。 这个脚本实际上模拟了“购买”你想要的免费/付费专辑,并以...

    时钟系统设计及仿真

    bcdl &lt;= bcdl + 1; elsif (bcdl = "1001") then bcdl ; bcdh &lt;= bcdh + 1; else bcdl &lt;= bcdl + 1; end if; end if; end if; end process; end architecture aa; ``` ##### 60进制计数器 ```vhdl -- ...

    ( 欧姆龙基本指令.pdf )

    ##### 1. **逻辑运算指令** - **AND(ANDLD, ANDNOT, ANDW)**: 这组指令主要用于执行位逻辑与运算。 - **AND**: 位逻辑与运算的基本形式,输入端口所有条件均满足时,输出为真。 - **ANDLD**: 延迟型与指令,...

    欧姆龙plc指令 (2).pdf

    11. **转换指令**:如`BIN`(BCD到二进制)、`BCDL`(双字BCD到双字二进制)、`ASC`(ASCII转换)和`HEX`(十六进制转换)。 12. **逻辑指令**:包括`ANDW`、`ANDL`、`ORW`、`ORL`、`XORW`、`XORL`和`COM`(求补)...

    Twido PLC指令对译互查手册

    ##### 1. Omron - **位操作** - **Out/outnot**: 输出指令,用于设置或清除输出。 - **Set/reset**: 设置或复位指定位置的位。 - **Keep**: 保持指令,类似于TwidoPLC中的SET指令。 - **DIFU/DIFD**: 上升沿/...

Global site tag (gtag.js) - Google Analytics