package com.vci.server.bof.server.create;
|
|
import javax.xml.rpc.holders.LongHolder;
|
|
import com.vci.corba.common.data.VCIInvocationInfo;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.data.LinkObject;
|
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;
|
import com.vci.server.bof.service.LOFactoryService;
|
|
public class BatchCreateDeleteBOLO extends ServiceFacadeExecuteHelper {
|
|
private static ServiceFacadeExecuteHelper instance = null;
|
|
public static ServiceFacadeExecuteHelper getInstance() {
|
if(instance == null) {
|
instance = new BatchCreateDeleteBOLO();
|
}
|
return instance;
|
}
|
|
@Override
|
protected Object doAction() throws Throwable {
|
BusinessObject[] deleteBOs = params.getDeleteBos();
|
BusinessObject[] createBOs = params.getCreateBos();
|
LinkObject[] deleteLOs = params.getDeleteLos();
|
LinkObject[] createLOs = params.getCreateLos();
|
boolean rs = false;
|
// 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;
|
// }
|
if(deleteLOs != null && deleteLOs.length > 0) {
|
LOFactoryService services = LOFactoryService.getInstance();
|
rs = services.batchDeleteLinkObject(deleteLOs);
|
if (!rs) {
|
return rs;
|
}
|
}
|
if(deleteBOs != null && deleteBOs.length > 0) {
|
BOFactoryServices services = BOFactoryServices.getInstance();
|
rs = services.batchDeleteBusinessObject(deleteBOs, 1);
|
if (!rs) {
|
LogRecordUtil.batchWriteLog(deleteBOs, "删除", "操作失败");
|
return rs;
|
}
|
LogRecordUtil.batchWriteLog(deleteBOs, "删除");
|
}
|
if((createBOs != null && createBOs.length > 0) ||
|
(createLOs != null && createLOs.length > 0)) {
|
LongHolder ts = new LongHolder();
|
BOFactoryServices services = BOFactoryServices.getInstance();
|
rs = services.batchCreateBusinessObjectWithLink(createBOs, createLOs, ts);
|
if (!rs) {
|
LogRecordUtil.batchWriteLog(createBOs, "增加", "操作失败");
|
return rs;
|
}
|
LogRecordUtil.batchWriteLog(createBOs, "增加");
|
}
|
return rs;
|
}
|
|
}
|