About jishuang

该作者尚未填入任何详情
So far jishuang has created 559 blog entries.

获取当前人的角色

BIZ层的java中平台提供的API可以获取到当前人的角色ID,如下: Map<String,String> sysParams = (Map<String, String>) ContextHelper.getSysParams(); System.out.println(sysParams.get("allRoles")); UI2层的js中平台提供的API可以获取到当前人的角色code、name、ID,如下: //当前人的角色code this.getContext().getAllRoleCodes(); //当前人的角色name this.getContext().getAllRoleNames(); //当前人的角色ID this.getContext().getAllRoles();

listTable组件如何控制每次只显示一个主数据对应的从数据

listTable组件在创建时“默认展开”的设置是勾选上的,就是默认展开所有的子数据 控制每次只显示一个从表的数据可以把“默认展开”勾选去掉,点击哪个主数据再显示对应的子数据 具体设置如下: 1.在主data上定义一个计算关系,如名字是rowVisible 2.在listTable生成的节点中找有hide样式的tr,bind-visible上设置val("rowVisible")=='true' 并且自定义一个属性bind-attr-title值设置为主data的主键值(bizData中的概念别名就是主键) 3.定义一个空的class .rowVisible{} 4.在listTable生成的节点中找有info样式的tr,重写bind-click事件,如下: Model.prototype.tr2Click = function(event) { var $oldRow = $(this.getElementByXid("listTable1")).find(".rowVisible");//获取有自定义rowVisible样式tr var $e = $(event.currentTarget); //获取当前点击的tr //判断展开主没有点击收缩直接切换到其他行时设置为收缩状态 if($oldRow.length>0){ for(var i = 0;i<$oldRow.length;i++){ if($oldRow[i].title !=$e.next()[0].title && !$oldRow.hasClass("hide")){ [...]

升级tomcat8报错apache-tomcat\lib\jcifs.jar (系统找不到指定的文件。)

参考不用平台默认带的tomcat如何部署的方式用tomcat8部署,默认会报错如下: java.io.FileNotFoundException: D:\BeX5.V3.7\apache-tomcat\lib\jcifs.jar (系统找不到指定的文件。) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:219) at java.util.zip.ZipFile.<init>(ZipFile.java:149) at java.util.jar.JarFile.<init>(JarFile.java:166) at java.util.jar.JarFile.<init>(JarFile.java:130) at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60) at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49) at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338) at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288) at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) 这个错误是sqlserver数据库的驱动包jtds-1.2.jar的问题,需要自己到网上下载一个比较新的sqlserver驱动包jtds.jar(需要1.3以及以上的版本),并把jtds-1.2.jar这个删除 如果不用sqlServer数据库也可以不放这个驱动包

excel导入时获取导入文件的File对象

在导入excel前action(importExcelBeforeAction)的执行后事件中,可以获得导入的excel文件,但默认是Workbook 类型的需要自己转换为File 具体实现如下: 1、在BIZ层构建路径中添加/SA/excel/logic/code下的jar包 2、在导入功能的process中引用/SA/excel/logic/action和/SA/excel/logic/code目录 3、在动作设置中添加importExcelBeforeAction的执行后事件,代码如下 4、在w文件的excel导入组件的action属性中选择/SA/excel/logic/action/importExcel public static void totalProcessAfterImportExcelBeforeAction() { ImportConfig config = (ImportConfig) ModelUtils.getRequestContext().getActionContext().getParameter("config"); String fileName = config.getFileName();//获取导入的excel的文件名 //获取excel文件 Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel"); File file = new File(System.getProperty("java.io.tmpdir") + "/" + [...]

第三方集成时.j登录后直接调整到x5首页,并且跳转地址中不拼接登录需要的参数

平台默认的打开首页的时候会从Cookie中获取bsessionid 第三方集成登录时不在跳转的首页地址后加username和password或者bsessionid参数就直接打开登录后的首页,可以在登录后把bsessionid放到Cookie中 实现登录的.j如下: import java.io.IOException; import java.sql.Date; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSONObject; import com.justep.biz.client.ActionEngine; import com.justep.biz.client.ActionResult; import com.justep.biz.client.ActionUtils; public class Login extends com.justep.ui.impl.JProcessorImpl { public void execute(HttpServletRequest request, HttpServletResponse [...]

dataTables的rowAttr属性调用js函数控制样式

rowAttr属性可以设置行高样式等 中有说明 链接中的动态控制只有一个条件判断,如果有多个条件判断直接设置属性可能不太好写,可以定义js函数,调用函数控制 如下通过fName列的值判断显示不同的背景颜色: js函数定义: Model.prototype.rowCss = function(fName) { var rowAttr = ""; if (fName == 'noticeTest') { rowAttr = { style : 'background:pink;' }; } else if (fName == 'test') { rowAttr = [...]

如何获取结束时通知的任务ID

process中的通知规则可以设置通知时机为结束时 但是目前的版本在onAfterFinish事件中获取不到此通知的任务ID,要获取任务ID需要如下处理 1.在process的onBeforeAdvance事件中SA_Task中扩展字段上设置一个随机值,并把这个随机值放到当前的RequestContext public static void noticeFlowProcessBeforeAdvance() { ProcessControl control = (ProcessControl) ContextHelper.getActionContext().getParameter("control"); String uuid = UUID.randomUUID().toString().toUpperCase().replaceAll("-", ""); for (ProcessControlItem item : control.getNotices()) { item.getTask().setRelationValue("sESField08", uuid); } ContextHelper.getRequestContext().put("notice", uuid); } 2.在process的onAfterAdvance事件中获取当前的RequestContext中存储的值,然后写KSQL到SA_Task中过滤数据获取任务ID public [...]

onAfterFinish中如何获取结束时通知的执行人

process的通知规则中可以设置通知时机为结束时 结束时通知可以在onAfterFinish中通过ProcessControl获取执行人,具体实现如下: public static void noticeFlowProcessAfterFinish() { ProcessControl flowControl = (ProcessControl) ProcessUtils.getProcessContext().getProcessControl(); for (ProcessControlItem to : flowControl.getNotices()) { for (OrgUnit ect : to.getExecutors()) { String fid = ect.getFID(); String fname = ect.getFName(); System.out.println("==========人员名称sName=========" + [...]

pc3取消功能树展开一个菜单,其他展开的会收起来的效果

pc3门户左侧的功能树默认的展开菜单时其他已展开的会收起来 如果不需要其他已展开的收起来可以修改/UI2/portal/pc3/AdminLTE/js/app.js中的实现 如下:把$.AdminLTE.tree = function (menu) {方法实现中的 下面两条语句注释掉 var ul = parent.find('ul:visible').slideUp(animationSpeed); ul.removeClass('menu-open');