已增加一个计算脚本,表单能显示意见,但不知哪里抄得不对,意见只计算到第一次。
代码如下:
(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='1703821051309' 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='1703821051309' 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.getItemValueAsDate("PROCESSTIME");
// var time =format(processtime,"yyyy-MM-dd HH:mm");
// var attitude = data.getItemValueAsString("ATTITUDE");
var signature = data.getItemValueAsString("SIGNATURE");
var imgdata = "data:image/png;base64,";
// println(signature);
//第一步:在 t_actorhis 表中 根据 表单docid(即表单的id) 获取 SIGNATURE 字段的值
var depp = signature;
// println(depp);
var dep = "[" + depp + "]";
// println(dep);
//第二步:解析JSON字符串
var jsonArray = new Packages.org.json.JSONArray(dep);
var data = "";
for(var i=0;i<jsonArray.length();i++){
var jsonObject = jsonArray.getJSONObject(i);
data = jsonObject.getString("data");
}
// println("data222222222222:"+data);
//第三步:在表单上显示图片
imgdata = imgdata + data;
// println("imgdata"+imgdata);
var img="<img src='" + imgdata + "' style='height: 70px;'/>";
// println("img"+img);
if (isNotNull(signature)) {
return img;
}
str += "\n\n"
}
}
// return img;
})(); |