MyApps 4.4 IScript 脚本示例

/**
调用用户添加接口 添加用户
**/
(function () {
var URLConnector = new Packages.cn.myapps.util.http.HttpRequestUtil();
var applicationId = getApplication();
var domainid = getDomainid()
var outputStr = “{\n” +
“\n” +
" “name”: “ekko”,\n" +
“\n” +
" “loginno”: “ekko”,\n" +
" \n" +
" “loginpwd”:“IzNDU2MT”,\n" +
“\n” +
" “email”: “email@teemlink.com”,\n" +
“\n” +
" “emailPublic”: true,\n" +
“\n” +
" “telephone”: “13192286346”,\n" +
“\n” +
" “telephonePublic”: true,\n" +
“\n” +
" “calendarType”: “i7xj207zBMEwBp8aATE”,\n" +
“\n” +
" “calendarTypeName”: “夜班日历”,\n" +
“\n” +
" “telephone2”: “13192286349”,\n" +
“\n” +
" “telephonePublic2”: true,\n" +
“\n” +
" “reportTree”: “”,\n" +
“\n” +
" “superiorid”: “”,\n" +
“\n” +
" “proxyUserid”: “”,\n" +
“\n” +
" “remarks”: “”,\n" +
“\n” +
" “startProxyTime”: “”,\n" +
“\n” +
" “endProxyTime”: “”,\n" +
“\n” +
" “permissionType”: “public”,\n" +
“\n” +
" “lockFlag”: 1,\n" +
" \n" +
" “status”:1,\n" +
“\n” +
" “dimission”: 1,\n" +
“\n” +
" “defaultDepartment”: “BFMzxTaCTWI6TbWLKXT”,\n" +
“\n” +
“\n” +
" “_userRoleDepartmentJson”:’[{“roleId”:“UELSgsHXdMcRKv8s1DW”,“departmentId”:“BFMzxTaCTWI6TbWLKXT”,“applicationId”:"" + applicationId + “”,“isDefaultDepartment”:“true”}]’,\n" +
“\n” +
" “_userKMRoleJson”: ‘[]’,\n" +
“\n” +
" “_kmRoleJson”:’[]’,\n" +
“\n” +
" “_kmRole”: ‘[]’\n" +
“\n” +
“}”;
var HostUrl = “http://localhost:8080/obpm/authtime/domain/” + domainid + “/user”;
var JSONString = URLConnector.post(HostUrl, outputStr);
println(“JSONString—>” + JSONString);
var accessToken = JSONString.get(“errmsg”);
var docProcess = getDocumentProcess();
var formProcess = getFormProcess();
var Sequence = new Packages.cn.myapps.util.sequence.Sequence();
var uuid = Sequence.getSequence();
var newForm = formProcess.doViewByFormName(“用户添加”, getApplication());
var newDoc = docProcess.doNew(newForm, getWebUser(), createParamsTable());
newDoc.addStringItem(“测试字段”, accessToken);
newDoc.setId(uuid);
docProcess.doCreate(newDoc);
})()

/**
视图SQL示例
*/
(function(){
var doc = getCurrentDocument();//获取查询头doc对象
var PurchaseOrderNumber = doc.getItemValueAsString(“PurchaseOrderNumber”)//获取查询头对应字段的值
var sql=“select domainid,id,formid,item_PurchaseOrderNumber from tlk_Number where 1=1”;
if(PurchaseOrderNumber!="" && PurchaseOrderNumber != null){
sql+=" and item_PurchaseOrderNumber like ‘%"+PurchaseOrderNumber+"%’";
}

return sql;

})();

/**
校验函数库
身份证号合法性验证 支持15位和18位身份证号、支持地址编码、出生日期、校验位验证
**/
function IdentityCodeValid(code) {
var code = getItemValue(code);
var city = {
11: “北京”,
12: “天津”,
13: “河北”,
14: “山西”,
15: “内蒙古”,
21: “辽宁”,
22: “吉林”,
23: “黑龙江”,
31: “上海”,
32: “江苏”,
33: “浙江”,
34: “安徽”,
35: “福建”,
36: “江西”,
37: “山东”,
41: “河南”,
42: “湖北”,
43: “湖南”,
44: “广东”,
45: “广西”,
46: “海南”,
50: “重庆”,
51: “四川”,
52: “贵州”,
53: “云南”,
54: “西藏”,
61: “陕西”,
62: “甘肃”,
63: “青海”,
64: “宁夏”,
65: “新疆”,
71: “台湾”,
81: “香港”,
82: “澳门”,
91: “国外”
};
var tip = “”;
var pass = true;
//验证身份证格式(6位地区编码,8位出生日期,3位顺序号,1位校验位)
if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)) {
tip = “身份证号格式错误”;
return tip;
pass = false;
} else if (!city[code.substr(0, 2)]) {
tip = “地址编码错误”;
pass = false;
return tip;
} else {
//18位身份证需要验证最后一位校验位
if (code.length == 18) {
code = code.split(’’);
//∑(ai×Wi)(mod 11)
//加权因子
var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
//校验位
var parity = [1, 0, ‘X’, 9, 8, 7, 6, 5, 4, 3, 2];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i < 17; i++) {
ai = code[i];
wi = factor[i];
sum += ai * wi;
}
var last = parity[sum % 11];
if (parity[sum % 11] != code[17]) {
tip = “校验位错误”;
pass = false;
return tip;
}
}
}

}

/**

获取提交时填写的意见显示在表单中
STARTNODEID 流程节点Id 可以通过查看流程源码获取

**/
(function(){
var sql = “”;
var doc = getCurrentDocument();
var state = doc.getStateLabel();
sql = “SELECT DISTINCT '” + getDomainid() + “’ AS DOMAINID,NAME AS ITEM_NAME,PROCESSTIME AS ITEM_PROCESSTIME,ATTITUDE AS ITEM_ATTITUDE,SIGNATURE AS ITEM_SIGNATURE FROM T_ACTORHIS T WHERE DOC_ID=’” + getId() + "’ AND EXISTS( SELECT 1 FROM T_RELATIONHIS WHERE STARTNODEID=‘1583766936149’ AND ID=T.NODEHIS_ID) ORDER BY PROCESSTIME ASC ";
var count = countBySQL(sql);
if (count == 0) {
sql = “SELECT DISTINCT '” + getDomainid() + “’ AS DOMAINID,NAME AS ITEM_NAME,PROCESSTIME AS ITEM_PROCESSTIME,ATTITUDE AS ITEM_ATTITUDE,SIGNATURE AS ITEM_SIGNATURE FROM t_flowhistory T WHERE DOC_ID=’” + getId() + "’ AND STARTNODEID=‘1583766936149’ ORDER BY PROCESSTIME ASC ";
}
var str = “”;
var datas = queryBySQL(sql);
if (datas != null && datas.size() > 0) {
for (var iter = datas.iterator(); iter.hasNext(); ) {
var data = iter.next();
var name = data.getItemValueAsString(“NAME”);
var processtime = data.getItemValueAsString(“PROCESSTIME”);
var attitude = data.getItemValueAsString(“ATTITUDE”);
var signature = data.getItemValueAsString(“SIGNATURE”);
if (!isNotNull(attitude)) {
attitude = “已阅。”
}
str += “

” + name + “于” + processtime + “填写意见:” + attitude;
if (isNotNull(signature)) {
var jsonObject = Packages.net.sf.json.JSONObject.fromObject(signature);
var imgBase64Code = jsonObject.get(“data”);
str += “,手签意见: ”;
}
str += “

}
}
return str;
})();

/**
下拉框选项脚本示例
*/
(function(){
var opts=createOptions();
opts.add(“显示值”,“真实值”);
opts.add(“显示值”,“真实值”,true); //true 表示默认选中该选项
return opts;
})()

/**
//获取表单的用户字段
**/
(function(){
var doc = getCurrentDocument();
var aa = doc.getItemValueAsString(“用户选择框”); //表单用户选择框字段
var docids = splitText(aa, “;”);
var userlist = createObject(“java.util.ArrayList”);
for (var i = 0; i < docids.length; i++) {
if(docids != null) {
var userVO = getUserById(docids[i]);
userlist.add(userVO);
}
}
return userlist;
})()

/**
获取登录用户的部门
**/
(function(){
var value = “”;//部门名称
var user = getWebUser();
var depts = user.getDepartments();
for(var iter = depts.iterator(); iter.hasNext()😉 {
var dept = iter.next();
value += dept.getName();
}
return value;
})()

/**
获取到视图选择框选中的数据
插入包含元素
**/
(function(){
var curDoc = getCurrentDocument();
var docid = curDoc.getId();
var selectId = getParameterAsText("_selects");
var docProcess = getDocumentProcess();
var formProcess = getFormProcess();
var newForm = formProcess.doViewByFormName(“领用明细信息”, getApplication());
var sel = selectId.replace(";", “’,’”);
sel = “(’” + sel + “’)”;
if (selectId != null || selectId.length > 0) {
var sql = "select * from tlk_材料信息表 where ID in " + sel;
var datas = queryBySQL(sql);
if (datas != null || datas.size() > 0) {
for (var iter = datas.iterator(); iter.hasNext(); ) {
var data = iter.next();
var newDoc = docProcess.doNew(newForm, getWebUser(), createParamsTable());
newDoc.setParent(docid);
newDoc.setApplicationid(getApplication());
newDoc.setDomainid(getWebUser().getDomainid());
newDoc.addStringItem(“材料编号”, data.getItemValueAsString(“材料编号”));
docProcess.doCreate(newDoc);
}
}
}
})();

/**
根据表单的流程状态来判断对表单行的掩藏或显示
**/
(function(){
var doc=getCurrentDocument();
var statelabel=doc.getStateLabel();
var html = " <script type=“text/javascript”>";
html += “$(document).ready(function(){”;

if("印章保管员审核".equals(statelabel) || "归档".equals(statelabel)){ 
	html+="jQuery(\".yc1\").css(\"display\",\"\");"; 
}else{ 
	html+="jQuery(\".yc1\").css(\"display\",\"none\");"; 
} 
html+= "});"; 
html+=" </script>"; 
return html; 

})();

/**
获取当前节点审批人
**/
(function(){
var AuditorList = getCurrentDocument().getAuditorList();
var AuditorListjson = AuditorList.substring(AuditorList.indexOf("[") + 2, AuditorList.indexOf("]") - 1);
var arr = splitString(AuditorListjson, ‘","’);
var name = “”;
for (var i = 0; i < arr.length; i++) {

    var userVO = getUserById(arr[i]);
    if (i == arr.length - 1) {
        name += userVO.getName();
    } else {
        
        name += userVO.getName() + ";";
    }
}

return name;

})()

/**
二维码回调脚本
**/
(function(){
var msg="";
var flag = true;
var WebUser = getWebUser();
var Userid = WebUser.getId();
var doc = getCurrentDocument();
var dept = WebUser.getDefaultDepartment();
var docid = doc.getId();
var starttime = format(getToday(),“yyyy-MM-dd HH:mm:ss”);
var number = doc.getItemValueAsString(“会议编号”);
var sql = “select * from tlk_会议室签到s where item_会议编号 = '”+number+"’ and item_用户 = ‘"+Userid+"’";
var t_count = countBySQL(sql);
if(t_count>0){
msg = “签到失败,你已经签到了”;
}else{
var process = getDocumentProcess();
var formProcess = getFormProcess(); //申明表单业务处理类
var newForm = formProcess.doViewByFormName(“会议室签到s”,getApplication());
var doc1 = process.doNew(newForm,WebUser,createParamsTable());//创建记录
doc1.addStringItem(“用户”,Userid );
doc1.addStringItem(“签到时间”,starttime);
doc1.addStringItem(“会议编号”,number);
process.doCreate(doc1);
msg = “签到成功!”;
}
return msg;
})()

/*
创建 java.util.HashMap 示例
*/
(function() {
var HashMap = new Packages.java.util.HashMap();
HashMap.put(“key”, “value”);
HashMap.put(“key1”, “value1”);
var setList = HashMap.keySet();
for (var iter = setList.iterator(); iter.hasNext(); ){
var map = iter.next();
println(“map—>”+map);//获取全部key
println(“value–>”+HashMap.get(map));//获取全部key对应的值
}
})()

/查询登录用户所属部门,对应tlk表单的数据/
(function(){
var user = getWebUser();
var desId = user.getDefaultDepartment(); //获取登录用户默认部门
var desIdList = user.getDepartments(); //获取登录用户配置的部门,返回的是部门id的集合
var sql = “select * from tlk_resignationapplication”;
var userVo = getUserProcess(); //根据部门id返回部门下所有用户
var UserList = userVo.getDatasByDept(desId);
var deptIDs = “(”;
for(var it = UserList.iterator(); UserList != null && it.hasNext(); ) {
var dept = it.next();
deptIDs += “’” + dept.getId() + “’,”;
}
deptIDs = deptIDs.substring(0, deptIDs.length - 1)
deptIDs += “)”;
sql += " where author in " + deptIDs;
return sql;
})()
/**
只能在操作类型为流程处理使用, 判断审批意见是否必须填写
*/
(function(){
var attitude=getParameter(“attitude”);//获取审批意见
var flowType = getParameter("_flowType");//获取流程状态 80提交 81回退
var signature = getParameter("_signature");//获取手签意见
var rtn="";
if(“80”.equals(flowType) && (attitude==null || attitude.trim().length()<=0)){
rtn = “审批意见必须填写!”;
}
return rtn;
})()

/**
创建表单数据并启动流程
*/
(function () {
var msg = “”;
var flag = true;
var WebUser = getWebUser();
var Userid = WebUser.getId();
var doc = getCurrentDocument();
var dept = WebUser.getDefaultDepartment();
var Sequence = new Packages.cn.myapps.util.sequence.Sequence();
var uuid = Sequence.getSequence();
var docid = doc.getId();
var starttime = format(getToday(), “yyyy-MM-dd HH:mm:ss”);
var number = doc.getItemValueAsString(“会议编号”);
var process = getDocumentProcess();
var formProcess = getFormProcess(); //申明表单业务处理类
var newForm = formProcess.doViewByFormName(“会议室签到”, getApplication());
var doc1 = process.doNew(newForm, WebUser, createParamsTable()); //创建记录
doc1.setId(uuid);
doc1.addStringItem(“用户”, Userid);
doc1.addStringItem(“签到时间”, starttime);
doc1.addStringItem(“会议编号”, number);
//process.doCreate(doc1);
var flowid = “_xxxxx”; //流程id 可以去后台你画的流程哪里 对应的id 就是流程id
var params = createParamsTable(); //创建指定类对象
params.setParameter("_flowid", flowid) //value为对应的流程Id.
process.doStartFlowOrUpdate(doc1, params, WebUser); //启动流程并创建数据
})()

/判断包含元素的是否为空/
(function () {
var rtn = “”;
var doc = getCurrentDocument();
var childs2 = doc.getChilds(“订单明细”);
var count2 = childs2.size();
if (count2 <= 0) {
rtn = “订单明细必须填写”;
}

return rtn;

})()

/获取包含元素的数据/
(function () {
var user_name = “”;
var doc = getCurrentDocument();
var childs = doc.getChilds(“kf_mobilemeter”);
println(“childs ===” + childs);
if (childs != null && childs.size() > 0) {
for (var it = childs.iterator(); it.hasNext(); ) {
var subdoc = it.next();
user_name = subdoc.getItemValueAsString(“user_name”);
}
}
return user_name;
})()

/**
因为网格视图编辑数据后需要点击保存才会存到数据库 使用getChilds(“订单明细”); 获取出来的数据是从数据库查询出来的
网格视图时获取填写的记录
**/
(function(){
var doc = getCurrentDocument();
var subDomcument = doc.getSubDocuments();
if(subDomcument!=null && subDomcument.size() > 0){
for(var dom=subDomcument.iterator();dom.hasNext()😉{
var subdoc=dom.next();
println(“name—>”+subdoc.getItemValueAsString(“name”));
}
}
})()

/**
获取流程状态值
**/
(function(){
var flowType = getParameter("_flowType");//获取流程状态值 80提交 81回退
println(“flowType—>”+flowType);
})()

/**
获取提交时填写的审批意见
**/
(function(){
var attitude=getParameter(“attitude”);//获取审批意见
println(“attitude—>”+attitude);
})()

/**
在脚本中调用存储过程
**/
(function(){
var ParamsTable = getParamsTable();
var Domainid = getDomainid();
var docProcess = getDocProcess(getApplication());
var in_id = ‘__igFO8h02HIepU3gNr8J’;
var dpg = docProcess.queryByProcedure(“call out_test(String:”+in_id+",out:package)",getParamsTable(),1,2,Domainid);
println(“dpg:”+dpg);
println(“dpg.datas:”+dpg.datas);
println(“dpg.datas.size:”+dpg.datas.size());
for(var i = 0;i<dpg.datas.size();i++){
var map = dpg.datas.get(i).getItemMap();
println(“map:”+map);
println(“map.OID:”+map.get(“OID”));
}
})()

/**
判断用户使用什么设备登陆的
**/
(function(){
var user = getWebUser();
var isMobileVisit=user.getEquipment();
//isMobileVisit 返回0 来访设备-电脑
//isMobileVisit 返回1 来访设备-手机
//isMobileVisit 返回2 来访设备-平板

})()

/**
获取登陆用户的角色
**/
(function(){
var user = getWebUser();
var roles = user.getRoles();
var rtn="";
for(var its = roles.iterator();roles!=null && its.hasNext()😉{
var role = its.next();
println(“roleName—>”+role.getName());
}

})()

/**
获取登陆用户的默认部门Id
**/
(function(){
var user = getWebUser();
var DepartmentId = user.getDefaultDepartment();
})()

/**
*判断指定的用户在指定部门是否具有指定的角色
*roleCode:角色编号 department:部门id
*userId:用户ID
*/
function isTheUserOwenTheDeptRolesByCode(userId, roleCode, department) {
var doc = getCurrentDocument();
var flag = false;
var process = new Packages.cn.myapps.designtime.role.service.RoleServiceImpl();
var role = process.findByRoleNo(roleCode, doc.getApplicationid());
var roleId = role.getId();
var sql = “select '” + getDomainid() + “‘AS DOMAINID , userid as item_userid from " + DATASOURENAME + ".t_user_department_role_set where departmentid=’” + department + “’ and roleid=’” + roleId + “’ and userid=’” + userId + "’ ";
var count = countBySQL(sql);
if (count > 0) {
flag = true;
}
return flag;
};

/**
*根据角色编码判断当前用户是否具有下列角色(可以传多个角色编码)
*roleCode:角色编码 传多个角色编码用";“隔开
*/
function isOwenTheRolesByRoleCodes(roleCode) {
var applicationid = getApplication();
var flag = false;
var process = new Packages.cn.myapps.runtime.role.service.RoleServiceImpl();
if (roleCode != null && !”".equals(roleCode)) {
if (roleCode.indexOf(";") >= 0) {
var roleCodes = roleCode.split(";");
if (roleCodes != null && roleCodes.length > 0) {
for (var i = 0; i < roleCodes.length; i++) {
var roleCodeI = roleCodes[i];
var role1 = process.findByRoleNo(roleCodeI, applicationid);
if (role1 != null) {
var crRoleId = role1.getId();
if (crRoleId != null && !"".equals(crRoleId)) {
var roles = getWebUser().getRoles();
for (var it = roles.iterator(); roles != null && it.hasNext(); ) {
var role = it.next();
var roleId = role.getId();
if (crRoleId.equals(roleId)) {
flag = true;
break;
}
}
}
}
}
}
} else {
var role1 = process.findByRoleNo(roleCode, applicationid);
if (role1 != null) {
var crRoleId = role1.getId();
if (crRoleId != null && !"".equals(crRoleId)) {
var roles = getWebUser().getRoles();
for (var it = roles.iterator(); roles != null && it.hasNext(); ) {
var role = it.next();
var roleId = role.getId();

                    if (crRoleId.equals(roleId)) {
                        flag = true;
                        break;
                    }
                }
            }
        }
    }
}
return flag;

};

//将值存入到Redis到缓存中
new Packages.cn.myapps.util.cache.MemoryCacheUtil.putToPrivateSpace(“key”, “value”, getWebUser());

//获取存入到Redis缓存中的值
var type = new Packages.cn.myapps.util.cache.MemoryCacheUtil.getFromPrivateSpace(“key”, getWebUser());

/**
*获取指定部门指定角色的人员,返回list
*roleNames:角色名称 department:部门id
*
*/
function getUsersByDeptAndRoles(roleName, department) {
var userList = createObject(“java.util.ArrayList”);
var roleid = getRoleIdByName(roleName);
var sql = “select '” + getDomainid() + “‘AS DOMAINID , userid as item_userid from " + DATASOURENAME + ".t_user_department_role_set where departmentid=’” + department + “’ and roleid=’” + roleid + “’”;
var datas = queryBySQL(sql);
if (datas != null) {
for (var iter = datas.iterator(); iter.hasNext(); ) {
var data = iter.next();
var userid = data.getItemValueAsString(“userid”);
userList.add(userid);
}
}
return userList;
};

/**

  • 考虑历史数据:获取通用主数据类型返回Options
  • table:当前表名 docId:当前docID valueName:当前字段名 type:通用主数据的类型
    */
    function getDatatype(table, docId, valueName, isNull) {
    var opts = $TOOLS.createOptions();
    var sql1 = “select * from " + table + " where id=’” + docId + “’ “;
    var data = findBySQL(sql1);
    var value1 = “”;
    if (data != null) {
    value1 = data.getItemValueAsString(valueName);
    }
    var sql = “select * from obpm_crm_new.tlk_客户状态 where item_status=‘有效’ order by item_类别名称”;
    if (value1 != null && !””.equals(value1)) {
    sql = “select * from obpm_crm_new.tlk_客户状态 where (item_status=‘有效’) or (item_status=‘无效’ and item_类别名称=’” + value1 + “’) order by item_类别名称”;
    }
    if (isNull) {
    opts.add("", “”);
    }
    var query = queryBySQL(sql);
    if (query != null && query.size() > 0) {
    for (var it = query.iterator(); it.hasNext(); ) {
    var doc = it.next();
    var value = doc.getItemValueAsString(“类别名称”);
    var name = doc.getItemValueAsString(“类别名称”);
    opts.add(name, value);
    }
    }
    return opts;
    };

/*
根据用户id返回cn.myapps.core.user.action.WebUser
*/
function getWebUserById(USERID) {
var UserProcessBean = new Packages.cn.myapps.authtime.user.service.UserProcessBean();
var UserVO = UserProcessBean.doView(USERID);
var WebUser = new Packages.cn.myapps.base.web.WebUser(UserVO);
return WebUser;
}

//因大部分用户反馈在Good皮肤中使用1.6/4.0+的H5皮肤跳转脚本无效,
主要是由于Good皮肤中更新了跳转的方法,
只需要在链接中加入对应属性即可生效,
更方便大家拼接链接使用
a标签只支持PC端 o-action标签支持pc端和手机端。

//表单类型
//action-type=‘opendocument’ (opendocument为表单、openview为视图)

//打开方式
//open-type=‘open-eject’ (open-present为当前页打开、open-eject为弹出层打开、open-tab为标签页打开、open-blank为新窗口打开)

//是否刷新表单
//reflash-on-close=‘reflash-on-close’ (注:刷新表单暂未实现)

//参数
//exparams = ‘&_isJump=1’ (参数值为固定值或者通过脚本获取其他值)

//具体例子参考如下:

//拼接参数
var ts1=doc.getItemValueAsString(“字段一”); //参数值一
var ts2=doc.getItemValueAsString(“字段二”); //参数值二
var exparams = “&ts1=”+ts1+"&ts2="+ts2+""; //拼接参数

//参数使用
var btn=“弹出表单”;

//参数获取
//在视图或者表单处点击鼠标右键查看框架源码获取框架源码后将view-source:部分去掉,view-source:http://192.168.88.161/Z016Y/portal/good/html/form.html?appId=MHR5k0XvJ6zqQgdepcj&docid=__nM6wAtLyXdUXA5ApJB6&formId=__2KhuwiEaRIwNdmoecoD&isScript=true&ts1=chain&ts2=001

//弹出层打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”); //参数值一
var ts2=doc.getItemValueAsString(“字段二”); //参数值二
var exparams = “&ts1=”+ts1+"&ts1="+ts1+""; //拼接参数
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“弹出层打开表单”;
return btn;
})();

//当前页打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“当前页打开表单”;
return btn;
})();

//标签页打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“标签页打开表单”;
return btn;
})();

//新窗口打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“新窗口打开表单”;
return btn;
})();

//弹出层打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“弹出层打开视图”
return btn;
})();

//当前页打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“当前页打开视图”
return btn;
})();

//标签页打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“标签页打开视图”
return btn;
})();

//新窗口打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“新窗口打开视图”
return btn;
})();

//o-action 标签支持手机端和PC端

//弹出层打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”); //参数值一
var ts2=doc.getItemValueAsString(“字段二”); //参数值二
var exparams = “&ts1=”+ts1+"&ts1="+ts1+""; //拼接参数
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“弹出层打开表单”;
return btn;
})();

//当前页打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“当前页打开表单”;
return btn;
})();

//标签页打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“标签页打开表单”;
return btn;
})();

//新窗口打开表单
(function() {
var doc=getCurrentDocument();
var docId=doc.getId();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var formid="__2KhuwiEaRIwNdmoecoD";
var btn=“新窗口打开表单”;
return btn;
})();

//弹出层打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“弹出层打开视图”
return btn;
})();

//当前页打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“当前页打开视图”
return btn;
})();

//标签页打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“标签页打开视图”
return btn;
})();

//新窗口打开视图
(function() {
var doc=getCurrentDocument();
var ts1=doc.getItemValueAsString(“字段一”);
var ts2=doc.getItemValueAsString(“字段二”);
var exparams = “&ts1=”+ts1+"&ts1="+ts1+"";
var appId=getApplication();
var domainid=getDomainid();
var viewId="__7OK04NzW3w2zFBKoW7I";
var btn=“新窗口打开视图”
return btn;
})();

//计算脚本 跳转视图,传参获取不到
http://www.teemlink.com/bbs/forum.php?mod=viewthread&tid=242587&fromuid=48618

/*
LOGINNO   账号
LOGINPWD  密码
DOMAINNAME 域名称 //就是你域后台新建域时填写的名称
var loginApiUrl="http://office.teemlink.com:60161/signon/runtime/login/loginWithCiphertext2";  http://office.teemlink.com:60161 修改成你们的域名或者Ip
*/

function getAccessToken(LOGINNO,LOGINPWD,DOMAINNAME){     
     	var loginApiUrl="http://office.teemlink.com:60161/signon/runtime/login/loginWithCiphertext2";     
     	var URLConnector = new Packages.cn.myapps.util.http.HttpRequestUtil();     
     	var jsonObj = new Packages.com.alibaba.fastjson.JSONObject();     
     	var Base64Pwd ="";     
     	var AccessToken ="";    
    	var Base64 = new Packages.cn.myapps.common.util.Base64Util();
    	var LOGINPWDS = new Packages.java.lang.String(LOGINPWD);
     	var bytes = LOGINPWDS.getBytes();    
    	var encoded = Base64.encode(bytes);    
     	if(encoded.length()>2){     
     		var lp = encoded.substring(0,2);     
     		var rp = encoded.substring(2,encoded.length());     
     		Base64Pwd = rp+lp;     
     	}      
     	jsonObj.put("username",LOGINNO);     
     	jsonObj.put("password",Base64Pwd);     
     	jsonObj.put("remember","0");     
     	jsonObj.put("debug","false");     
     	jsonObj.put("domainName",DOMAINNAME);     
     	jsonObj.put("checkcode","");     
     	jsonObj.put("language","CN");     
     	var JSONString = URLConnector.post(loginApiUrl,jsonObj.toString());     
     	AccessToken = JSONString.get("accessToken");     
     	return AccessToken;     
}
/**
 
var viewsApiUrl="http://office.teemlink.com:60161/obpm/runtime/__K9VSEQ0wOlXNnorkeWI/views/__39uCuMTrmO6tiYQEgDp/documents?parentId=&sortCol=&sortStatus=&_currpage=1&lines=1000&accessToken="+AccessToken;  

http://office.teemlink.com:60161 修改成你们的域名或者Ip
__K9VSEQ0wOlXNnorkeWI 软件Id 可以使用IScript脚本getApplication() 获取
_currpage=1 分页 直接传1即可
lines=1000 每页显示多少条数据 根据你该表1年的数据量来传 建议写大点 

**/
#include "MethodLibrary"        
(function(){ 
 var doc = getCurrentDocument();         
 var LOGINNO = doc.getItemValueAsString("LOGINNO");         
 var LOGINPWD = doc.getItemValueAsString("LOGINPWD");         
 var DOMAINNAME = doc.getItemValueAsString("DOMAINNAME");               
 var AccessToken = getAccessToken(LOGINNO,LOGINPWD,DOMAINNAME);   
 var Sequence = new Packages.cn.myapps.util.sequence.Sequence();   
 var viewsApiUrl="http://office.teemlink.com:60161/obpm/runtime/__K9VSEQ0wOlXNnorkeWI/views/__39uCuMTrmO6tiYQEgDp/documents?parentId=&sortCol=&sortStatus=&_currpage=1&lines=1000&accessToken="+AccessToken;       
 var URLConnector = new Packages.cn.myapps.util.http.HttpRequestUtil();       
 var jsonObj = new Packages.com.alibaba.fastjson.JSONObject();       
 var JSONString = URLConnector.post(viewsApiUrl,"");        
 var errmsg = JSONString.get("errmsg");       
 if("ok".equals(errmsg)){       
 var docProcess = getDocumentProcess();    
 var formProcess = getFormProcess();       
 var newForm = formProcess.doViewByFormName("BOM清单",getApplication());   
 var newDoc = docProcess.doNew(newForm,getWebUser(),createParamsTable());    
 var dataArray = JSONString.get("data").get("data");       
 if(dataArray!=null || dataArray.size()>0){       
 	for(var iter = dataArray.iterator();iter.hasNext();){       
 		var jsonData = iter.next();    
 		var jsonitem = jsonData.get("items");    
 		var iterator = jsonitem.entrySet().iterator();       
 		while(iterator.hasNext()){       
 			var entry = iterator.next();   
 			if(entry!=null){   
 				var uuid = Sequence.getSequence();   
 				var entryValue = entry.getValue();   
 				newDoc.setId(uuid);   
 				var name = entryValue.get("name");   
 				if("物料类型".equals(name)){   
 					newDoc.addStringItem("物料类型",entryValue.get("value"));   
 				} 
 				if("PTSP".equals(name)){   
 					newDoc.addStringItem("PTSP",entryValue.get("value"));   
 				} 
 				if("SAP物料编码".equals(name)){   
 					newDoc.addStringItem("SAP物料编码",entryValue.get("value"));   
 				} 
 				if("工厂".equals(name)){   
 					newDoc.addStringItem("工厂",entryValue.get("value"));   
 				} 
 				if("改变零件编码".equals(name)){   
 					newDoc.addStringItem("改变零件编码",entryValue.get("value"));   
 				} 
 				if("计量单位".equals(name)){   
 					newDoc.addStringItem("计量单位",entryValue.get("value"));   
 				} 
 				if("零件属性".equals(name)){   
 					newDoc.addStringItem("零件属性",entryValue.get("value"));   
 				} 
 				if("零件属性2".equals(name)){   
 					newDoc.addStringItem("零件属性2",entryValue.get("value"));   
 				} 
 				if("维护人员".equals(name)){   
 					newDoc.addStringItem("维护人员",entryValue.get("value"));   
 				} 
 				 
 				if("标准价格".equals(name)){   
 					newDoc.addDoubleItem("标准价格",entryValue.get("value"));   
 				} 
 				if("物料描述".equals(name)){   
 					newDoc.addDoubleItem("物料描述",entryValue.get("value"));   
 				} 
 				if("备注".equals(name)){   
 					newDoc.addDoubleItem("备注",entryValue.get("value"));   
 				} 
 				  
 			}  
 						 
 		}
	docProcess.doCreate(newDoc); 		
 	}  		   
 }       
 }       
 })()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值