package com.vci.server.bof.server.create;
|
|
import com.vci.common.utility.ObjectUtility;
|
import com.vci.corba.common.data.VCIInvocationInfo;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.data.LinkObject;
|
import com.vci.corba.common.VCIError;
|
import com.vci.server.base.persistence.dao.HibernateSessionFactory;
|
import com.vci.server.base.utility.LogRecordUtil;
|
import com.vci.server.bof.server.ServiceFacadeExecuteHelper;
|
import com.vci.server.bof.service.BOFactoryServices;
|
|
public class CreateBOLOTS extends ServiceFacadeExecuteHelper{
|
|
private static ServiceFacadeExecuteHelper instance = null;
|
|
public static ServiceFacadeExecuteHelper getInstance() {
|
if(instance == null) {
|
instance = new CreateBOLOTS();
|
}
|
return instance;
|
}
|
|
@Override
|
protected Object doAction() throws Throwable {
|
BusinessObject[] bos = params.getBos();
|
LinkObject lo = params.getLo();
|
try {
|
BOFactoryServices services = BOFactoryServices.getInstance();
|
for (int i = 0; i < bos.length; i++) {
|
if (bos[i].oid.trim().equals("")) {
|
bos[i].oid = ObjectUtility.getNewObjectID36();
|
}
|
if (bos[i].revisionid.trim().equals("")) {
|
bos[i].revisionid = ObjectUtility.getNewObjectID36();
|
}
|
if (bos[i].nameoid.trim().equals("")) {
|
bos[i].nameoid = ObjectUtility.getNewObjectID36();
|
}
|
if (lo.oid.trim().equals("")) {
|
lo.oid = ObjectUtility.getNewObjectID36();
|
}
|
}
|
|
services.createBusinessObject(bos, lo, params.getTs());
|
//日志记录
|
VCIInvocationInfo info = HibernateSessionFactory.getVciSessionInfo();
|
String ip = "127.0.0.1";
|
if(info!=null){
|
ip = info.clientIPInfo == null||"".equals(info.clientIPInfo) ?"127.0.0.1":info.clientIPInfo;
|
}
|
//batchRecordLog(bos, ip, "创建");
|
LogRecordUtil.batchWriteLog(bos, "创建");
|
return true;
|
} catch (VCIError e) {
|
throw this.getLocalString(e.code, e);
|
} catch (Exception e) {
|
//e.printStackTrace();
|
|
throw this.getLocalString("P0010SOF-00001", e);
|
} catch (Throwable t) {
|
|
//t.printStackTrace();
|
throw this.getLocalString("P0010SOF-00001", t);
|
}
|
}
|
|
}
|