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; } }