package com.vci.server.bof.server.update;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import com.vci.corba.common.data.VCIInvocationInfo;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.common.VCIError;
|
import com.vci.server.base.persistence.dao.HibernateSessionFactory;
|
import com.vci.server.bof.server.ServiceFacadeExecuteHelper;
|
import com.vci.server.bof.service.BOFactoryServices;
|
|
public class UpdateBO extends ServiceFacadeExecuteHelper{
|
|
private static ServiceFacadeExecuteHelper instance = null;
|
|
public static ServiceFacadeExecuteHelper getInstance() {
|
if(instance == null) {
|
instance = new UpdateBO();
|
}
|
return instance;
|
}
|
|
@Override
|
protected Object doAction() throws VCIError {
|
boolean rs = false;
|
BusinessObject bo = params.getBo();
|
try {
|
BOFactoryServices services = BOFactoryServices.getInstance();
|
rs = services.updateBuinessObject(bo, services.getBOAttributeItemDefaultValMap(bo.btName));
|
if (!rs) {
|
return rs;
|
}
|
//日志记录
|
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;
|
}
|
String logInfo = StringUtils.isNotBlank(bo.name)?bo.name:(StringUtils.isNotBlank(bo.id)?bo.id:bo.oid);
|
recordLog(bo.modifier, bo.btName, ip, "修改", bo.btName, logInfo, bo.oid);
|
} catch (Exception e) {
|
e.printStackTrace();
|
|
throw this.getLocalString("P0010SOF-00002", e);
|
} catch (Throwable t) {
|
|
t.printStackTrace();
|
throw this.getLocalString("P0010SOF-00002", t);
|
}
|
|
return rs;
|
}
|
|
}
|