|
在正式环境中向grid中的主数据添加一行,保存后,在process的定义中的libraryProcessAfterSaveBID_specificationAction事件中报错:
2019-10-14 15:22:52 [http-8080-5] [LibraryProcess] INFO: NEW
2019-10-14 15:22:52 [http-8080-5] [com.justep.business.server.BusinessServer] ERROR: excute stream action, params:{"actions":[{"process":"/ERP/BID/BidLibrary/process/Library/libraryProcess","activity":"specification","executor":"","executeContext":"","actionFlag":"__action_0__","action":"saveBID_specificationAction","contentType":"json","parameters":{"table":{"userdata":{"relationTypes":"Date,String,String,String,String,String,String,Integer,String,String,DateTime,String,String,Date,Date,String,String,String,String","sys.count":117,"updateMode":"whereVersion","sys.rowid":"BID_specification","model":"/ERP/BID/BidLibrary/data","idColumnDefine":"BID_specification","relations":"BID_specification.issueTime,BID_specification.normalNum,BID_specification.workContent,BID_specification.fCreatePersonID,BID_specification.fCreateDeptCode,BID_specification.fCreatePersonCode,BID_specification.remark,BID_specification.version,BID_specification.certifyData,BID_specification.fCreatePersonName,BID_specification.fCreatdTime,BID_specification.fCreateDeptName,BID_specification.normalName,BID_specification.setDay,BID_specification.ImplTime,BID_specification.fCreatePersonFID,BID_specification.issueUnit,BID_specification.certifyDataAdress,BID_specification.fCreateDeptID","idColumnName":"BID_specification","idColumnType":"String","relationAlias":"issueTime,normalNum,workContent,fCreatePersonID,fCreateDeptCode,fCreatePersonCode,remark,version,certifyData,fCreatePersonName,fCreatdTime,fCreateDeptName,normalName,setDay,ImplTime,fCreatePersonFID,issueUnit,certifyDataAdress,fCreateDeptID"},"@type":"table","rows":[{"issueTime":{"value":"2018-12-16","changed":"1"},"normalNum":{"value":"T/CCSA 239.1-2018 ","changed":"1"},"workContent":{"value":"参编","changed":"1"},"fCreatePersonID":{"value":"J200372","changed":"1"},"fCreateDeptCode":{"value":"2004","changed":"1"},"fCreatePersonCode":{"value":"J200372","changed":"1"},"remark":{"value":"团体标准","changed":"1"},"version":{"value":0,"changed":"1"},"certifyData":{"changed":"1"},"fCreatePersonName":{"value":"赵微","changed":"1"},"fCreatdTime":{"value":"2019-10-14T15:21:55.814Z","changed":"1"},"userdata":{"isModified":true,"id":{"value":"A053C0CEB3EE4AE380D8FD1E8E1E7CBB"},"recordState":"new"},"fCreateDeptName":{"value":"市场经营部","changed":"1"},"normalName":{"value":" 《服务器用液冷系统 第1部分:间接冷板式》","changed":"1"},"setDay":{"value":"2018-12-16","changed":"1"},"ImplTime":{"value":"2018-12-16","changed":"1"},"fCreatePersonFID":{"value":"/100000.ogn/100004.dpt/J200372@100004.psm","changed":"1"},"issueUnit":{"value":"中国通信标准化协会","changed":"1"},"certifyDataAdress":{"changed":"1"},"fCreateDeptID":{"value":"100004","changed":"1"}}]}},"accept":"application/json"},{"process":"/SA/doc/system/systemProcess","activity":"mainActivity","executor":"","executeContext":"","actionFlag":"__action_1__","action":"saveAttachAction","contentType":"json","parameters":{"isSaveDocLink":false,"changeLog":"{\"items\":[],\"createVersionLogs\":[],\"operate\":\"saveDoc\",\"url\":\"\",\"process\":\"/ERP/BID/BidLibrary/process/Library/libraryProcess\",\"activity\":\"specification\",\"isHttps\":true}"},"accept":"application/json"}]}
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.justep.system.action.Engine.invokeActions(Native Method)
at com.justep.system.action.Engine.invokeActions(Unknown Source)
at com.justep.business.server.BusinessServer.doAction(Unknown Source)
at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.justep.micro.service.MicroServiceFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at LibraryProcess.libraryProcessAfterSaveBID_specificationAction(LibraryProcess.java:309)
... 31 more
正式环境的代码如下:
public static void libraryProcessAfterSaveBID_specificationAction() throws FileNotFoundException, Exception {
String a="";
// 获得table参数
Table table = (Table) ContextHelper.getActionContext().getParameter("table");
// 获得所有新增的行
Iterator<Row> rows = table.iterator(com.justep.system.data.ModifyState.NEW);
Row row = null;
while (rows.hasNext()) {
log.info("NEW");
row = rows.next();
String certifyData = row.getString("certifyData");
if(certifyData.indexOf("docID")!=-1){
a=findFile(certifyData);
String ID = row.getString("BID_specification");
String ksql = " SELECT S.* FROM BID_specification S WHERE S = '" + ID + "'";
//String ksql = " SELECT * FROM BID_specification WHERE fID = '" + ID + "'";
Table table2 = KSQL.select(ksql, null, "/ERP/BID/BidLibrary/data", null);
Iterator<Row> rows1 = table2.iterator();
Row row1 = rows1.next();
String ksql1 = " UPDATE BID_specification S SET S.certifyDataAdress='"+a+"' WHERE S = '" + ID + "'";
KSQL.executeUpdate(ksql1, null, "/ERP/BID/BidLibrary/data", null);
}
}
rows = table.iterator(com.justep.system.data.ModifyState.EDIT);
while (rows.hasNext()) {
log.info("EDIT");
row = rows.next();
//是否有标段流标
String ID = row.getString("BID_specification");
String certifyData = row.getString("certifyData");
if(certifyData.indexOf("docID")!=-1){
a=findFile(certifyData);
String ksql1 = " UPDATE BID_specification S SET S.certifyDataAdress='"+a+"' WHERE S = '" + ID + "'";
KSQL.executeUpdate(ksql1, null, "/ERP/BID/BidLibrary/data", null);
}else{
String ksql1 = " UPDATE BID_specification S SET S.certifyDataAdress=null WHERE S = '" + ID + "'";
KSQL.executeUpdate(ksql1, null, "/ERP/BID/BidLibrary/data", null);
}
}
}
|
|