package com.vci.server.omd.qt.delegate;
|
|
import java.math.BigDecimal;
|
import java.text.DateFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
|
import com.vci.common.exception.VciExceptionTool;
|
import com.vci.common.log.ServerWithLog4j;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.omd.qtm.QTD;
|
import com.vci.corba.omd.qtm.QTInfo;
|
import com.vci.server.base.exception.ExceptionLocalHandler;
|
import com.vci.server.base.persistence.dao.HibernateSessionFactory;
|
import com.vci.server.omd.qt.cache.QTDServerCacheUtil;
|
import com.vci.server.omd.qt.dao.impl.QTDaoImpl;
|
import com.vci.server.omd.qt.entity.QTEntity;
|
import com.zeroc.Ice.Current;
|
|
public class QTDServiceDelegate {
|
private DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
|
//private Date date = Calendar.getInstance().getTime();
|
|
private static QTDServiceDelegate instance = null;
|
|
public static QTDServiceDelegate getInstance() {
|
if (instance == null) {
|
instance = new QTDServiceDelegate();
|
}
|
return instance;
|
}
|
|
private VCIError getLocalVciError(String key, Throwable e) {
|
VCIError error = new VCIError(key, new String[]{VciExceptionTool.getExceptionStr(e), VciExceptionTool.getExceptionDetail(e)});
|
VCIError rsError = ExceptionLocalHandler.getInstance().getLocalString(error, "PLMOQ");
|
return rsError;
|
}
|
|
/**
|
* 保存查询模板到数据库
|
*/
|
public boolean saveQT(QTInfo qtWrapper)throws VCIError {
|
try{
|
if ( this.isExistsQT(qtWrapper.qtName) )
|
new QTDaoImpl().update(getQTEntity(qtWrapper));
|
else
|
new QTDaoImpl().save(getQTEntity(qtWrapper));
|
|
QTDServerCacheUtil.setQTemplate(qtWrapper);
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010QT-00003", e);
|
}
|
return true;
|
}
|
|
public boolean bacthSaveQT(QTInfo[] qtWrappers)throws VCIError {
|
try{
|
QTDaoImpl impl = new QTDaoImpl();
|
List<QTEntity> list = new ArrayList<QTEntity>();
|
int batchCount = 200;
|
for (int i = 0; i < qtWrappers.length; i++) {
|
if (this.isExistsQT(qtWrappers[i].qtName)) {
|
list.add(getQTEntity(qtWrappers[i]));
|
} else {
|
list.add(getQTEntity(qtWrappers[i]));
|
}
|
|
if ((i + 1) % batchCount == 0) {
|
impl.saveOrUpdateAll(list);
|
list = new ArrayList<QTEntity>();
|
}
|
}
|
|
impl.saveOrUpdateAll(list);
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010QT-00003", e);
|
}
|
return true;
|
}
|
|
/**
|
* 从数据库获取查询模板
|
*/
|
public QTInfo[] getObjTypeQTs(String typeName) throws VCIError {
|
return QTDServerCacheUtil.getObjTypeQTs(typeName);
|
// List<QTInfo> qtWrapperList = new ArrayList<QTInfo>();
|
// try{
|
// List<QTemplate> qtEntites = new QTDaoImpl().findEntities("from QTemplate where btmName = '" + typeName + "'");
|
// for(QTemplate qtEntity : qtEntites){
|
// QTInfo qtWrapper = getQTWrapper(qtEntity);
|
// qtWrapperList.add(qtWrapper);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00004", e);
|
// }
|
// return qtWrapperList.toArray(new QTInfo[0]);
|
}
|
|
/**
|
* 从数据库获取查询模板
|
*/
|
// public QTInfo[] getAllBizTypeQTDs() throws VCIError {
|
// List<QTInfo> qtWrapperList = new ArrayList<QTInfo>();
|
// try{
|
// List<QTemplate> qtEntites = new QTDaoImpl().findEntities("from QTemplate where btmName is not null");
|
// for(QTemplate qtEntity : qtEntites){
|
// QTInfo qtWrapper = getQTWrapper(qtEntity);
|
// qtWrapperList.add(qtWrapper);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00004", e);
|
// }
|
// return qtWrapperList.toArray(new QTInfo[0]);
|
// }
|
|
/**
|
* 检查名字是否存在
|
*/
|
public boolean isExistsQT(String name) throws VCIError {
|
return QTDServerCacheUtil.isExistsQT(name);
|
// try{
|
// String sql = "select count(qtName) from PL_QTEMPLATE where qtName = ?";
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, name);
|
// List list = query.list();
|
// int count = ((BigDecimal)list.get(0)).intValue();
|
// if(count > 0){
|
// return true;
|
// }else{
|
// return false;
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00005", e);
|
// }
|
//
|
|
}
|
|
/**
|
* 删除查询模板
|
*/
|
public boolean deleteQTS(String[] qtNames) throws VCIError {
|
try{
|
StringBuilder names = new StringBuilder();
|
for(int i = 0; i < qtNames.length; i++){
|
names.append("'");
|
names.append(qtNames[i]);
|
names.append("'");
|
if(i < qtNames.length - 1){
|
names.append(", ");
|
}
|
}
|
StringBuilder sql = new StringBuilder("delete from PL_QTEMPLATE where qtName in (");
|
sql.append(names.toString());
|
sql.append(")");
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery query = session.createSQLQuery(sql.toString());
|
query.executeUpdate();
|
|
for (String name : qtNames) {
|
QTDServerCacheUtil.delQTemplate(name);
|
}
|
return true;
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010QT-00006", e);
|
}
|
|
}
|
|
/**
|
* 根据查询模板名获取查询模板
|
*/
|
public QTInfo getQT(String qtName) throws VCIError {
|
return QTDServerCacheUtil.getQTemplate(qtName);
|
// QTInfo qtWrapper = new QTInfo();
|
// try{
|
// QTemplate qtEntity = new QTDaoImpl().getById(qtName);
|
// if(qtEntity != null){
|
// qtWrapper = getQTWrapper(qtEntity);
|
// }
|
//// System.out.println("sss---------------------");
|
//// qtWrapper = QTServerCacheUtil.getInstance().getQtById(qtName);
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00004", e);
|
// }
|
// return qtWrapper;
|
}
|
|
|
/**
|
* QTEntity --〉 QTInfo
|
* @param qtEntity
|
* @return
|
*/
|
private QTInfo getQTWrapper(QTEntity qtEntity){
|
if(qtEntity == null){
|
return null;
|
}
|
QTInfo qtWrapper = new QTInfo();
|
|
qtWrapper.qtName = qtEntity.getQtName();
|
qtWrapper.btmName = qtEntity.getBtmName();
|
qtWrapper.creator = qtEntity.getCreator();
|
qtWrapper.createTime = qtEntity.getCreateTime().getTime();
|
qtWrapper.levelFlag = qtEntity.getLevelFlag();
|
String qtUIText = qtEntity.getQtUIText();
|
qtWrapper.qtUIText = (qtUIText == null ? "" : qtUIText);
|
String qtText = qtEntity.getQtText();
|
qtWrapper.qtText = (qtText == null ? "" : qtText);
|
|
return qtWrapper;
|
}
|
|
|
/**
|
* QTInfo --〉 QTemplate
|
* @param qtWrapper
|
* @return
|
*/
|
private QTEntity getQTEntity(QTInfo qtWrapper){
|
if(qtWrapper == null){
|
return null;
|
}
|
QTEntity qtEntity = new QTEntity();
|
|
qtEntity.setQtName(qtWrapper.qtName);
|
qtEntity.setBtmName(qtWrapper.btmName);
|
qtEntity.setCreator(qtWrapper.creator);
|
Date date = Calendar.getInstance().getTime();
|
qtEntity.setCreateTime(date);
|
qtEntity.setLevelFlag(qtWrapper.levelFlag);
|
qtEntity.setQtUIText(qtWrapper.qtUIText);
|
qtEntity.setQtText(qtWrapper.qtText);
|
|
return qtEntity;
|
}
|
|
/**
|
* 更新QT将qtUIText和qtText变更为CLOB字段
|
*/
|
public boolean updateQT() throws VCIError {
|
String sql = "select * from PL_QTEMPLATE";
|
QTDaoImpl qtDaoImpl = new QTDaoImpl();
|
try{
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
List list = query.list();
|
for(int i = 0; i < list.size(); i++){
|
QTInfo qtWrapper = new QTInfo();
|
Object[] obj = (Object[]) list.get(i);
|
qtWrapper.qtName = (String)obj[0];
|
qtWrapper.btmName = (String)obj[1];
|
qtWrapper.creator = (String)obj[2];
|
qtWrapper.createTime = ((Date)obj[3]).getTime();
|
qtWrapper.levelFlag = ((BigDecimal)obj[4]).shortValue();
|
qtWrapper.qtUIText = ((String)obj[5] == null ? "" : (String)obj[5]);
|
qtWrapper.qtText = (String)obj[6];
|
qtDaoImpl.save(getQTEntity(qtWrapper));
|
|
QTDServerCacheUtil.setQTemplate(qtWrapper);
|
}
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010QT-00013", e);
|
}
|
|
return true;
|
}
|
|
/**
|
* 保存查询模板到数据库
|
*/
|
// public boolean saveQT(QTInfo qtWrapper, Current current)throws VCIError {
|
// String sql = "insert into PL_QTEMPLATE values(?, ?, ?, to_date(?, 'yyyy-MM-dd'), ?, ?, ?)";
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, qtWrapper.qtName);
|
// query.setString(1, qtWrapper.btmName);
|
// query.setString(2, qtWrapper.creator);
|
// //CreateTime 应取服务器时间
|
// qtWrapper.createTime = dFormat.format(date);
|
// query.setString(3, qtWrapper.createTime);
|
// query.setInteger(4, qtWrapper.levelFlag);
|
// query.setString(5, qtWrapper.qtUIText);
|
// query.setString(6, qtWrapper.qtText);
|
// query.executeUpdate();
|
//
|
// QTServerCacheUtil.setQTemplate(qtWrapper);
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00003", e);
|
// }
|
// return true;
|
// }
|
|
/**
|
* 从数据库获取查询模板
|
*/
|
public QTInfo[] getQTS(String btmName, Current current) throws VCIError {
|
QTInfo[] qts = QTDServerCacheUtil.getAllQTemplate();
|
List<QTInfo> lstQT = new ArrayList<QTInfo>();
|
for (QTInfo qt : qts) {
|
if (qt.btmName.equalsIgnoreCase(btmName))
|
lstQT.add(qt);
|
}
|
|
return lstQT.toArray(new QTInfo[0]);
|
|
// String sql = "select * from PL_QTEMPLATE where btmName = ?";
|
// List<QTInfo> qtWrapperList = new ArrayList<QTInfo>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, btmName);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTInfo qtWrapper = new QTInfo();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtWrapper.qtName = (String)obj[0];
|
// qtWrapper.btmName = (String)obj[1];
|
// qtWrapper.creator = (String)obj[2];
|
// qtWrapper.createTime = dFormat.format((Date)obj[3]);
|
// qtWrapper.levelFlag = ((BigDecimal)obj[4]).shortValue();
|
// qtWrapper.qtUIText = ((String)obj[5] == null ? "" : (String)obj[5]);
|
// qtWrapper.qtText = (String)obj[6];
|
// qtWrapperList.add(qtWrapper);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00004", e);
|
// }
|
// return qtWrapperList.toArray(new QTInfo[0]);
|
}
|
|
/**
|
* 检查名字是否存在
|
*/
|
public boolean isExists(String name, Current current) throws VCIError {
|
return QTDServerCacheUtil.isExistsQT(name);
|
|
// try{
|
// String sql = "select count(qtName) from PL_QTEMPLATE where qtName = ?";
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, name);
|
// List list = query.list();
|
// int count = ((BigDecimal)list.get(0)).intValue();
|
// if(count > 0){
|
// return true;
|
// }else{
|
// return false;
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00005", e);
|
// }
|
//
|
|
}
|
|
/**
|
* 删除查询模板
|
*/
|
// public boolean deleteQTS(String[] qtNames, Current current) throws VCIError {
|
// try{
|
// StringBuilder sql = new StringBuilder("delete from PL_QTEMPLATE where qtName in (");
|
// StringBuilder names = new StringBuilder();
|
// for(int i = 0; i < qtNames.length; i++){
|
// names.append("'");
|
// names.append(qtNames[i]);
|
// names.append("'");
|
// if(i < qtNames.length - 1){
|
// names.append(", ");
|
// }
|
// }
|
//
|
// sql.append(names.toString());
|
// sql.append(")");
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql.toString());
|
// query.executeUpdate();
|
//
|
// for (String name : qtNames) {
|
// QTServerCacheUtil.delQTemplate(name);
|
// }
|
//
|
// return true;
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00006", e);
|
// }
|
//
|
// }
|
|
/**
|
* 根据查询模板名获取查询模板
|
*/
|
// public QTInfo getQT(String qtName, Current current) throws VCIError {
|
// return QTServerCacheUtil.getQTemplate(qtName);
|
//// String sql = "select * from PL_QTEMPLATE where qtName = ?";
|
//// QTInfo qtWrapper = new QTInfo();
|
//// try{
|
//// Session session = HibernateSessionFactory.getSession();
|
//// SQLQuery query = session.createSQLQuery(sql);
|
//// query.setString(0, qtName);
|
//// List list = query.list();
|
//// if(list.size() > 0){
|
//// Object[] obj = (Object[]) list.get(0);
|
//// qtWrapper.qtName = (String)obj[0];
|
//// qtWrapper.btmName = (String)obj[1];
|
//// qtWrapper.creator = (String)obj[2];
|
//// qtWrapper.createTime = dFormat.format((Date)obj[3]);
|
//// qtWrapper.levelFlag = ((BigDecimal)obj[4]).shortValue();
|
//// qtWrapper.qtUIText = ((String)obj[5] == null ? "" : (String)obj[5]);
|
//// qtWrapper.qtText = (String)obj[6];
|
//// }
|
//// }catch(Throwable e){
|
//// e.printStackTrace();
|
//// throw getLocalVciError("P0010QT-00004", e);
|
//// }
|
//// return qtWrapper;
|
// }
|
|
|
// public boolean updateQT(Current current) throws VCIError {
|
// // TODO Auto-generated method stub
|
// return false;
|
// }
|
|
|
//add by zhangweiwei 2014/12/09 start
|
/**
|
* 从数据库获取查询模板
|
*/
|
public QTInfo[] getAllQTS() throws VCIError {
|
return QTDServerCacheUtil.getAllQTemplate();
|
// List<QTInfo> qtWrapperList = new ArrayList<QTInfo>();
|
// try{
|
// List<QTemplate> qtEntites = new QTDaoImpl().findEntities("from QTemplate");
|
// for(QTemplate qtEntity : qtEntites){
|
// QTInfo qtWrapper = getQTWrapper(qtEntity);
|
// qtWrapperList.add(qtWrapper);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("P0010QT-00004", e);
|
// }
|
// return qtWrapperList.toArray(new QTInfo[0]);
|
}
|
//add by zhangweiwei 2014/12/09 end
|
|
public QTD[] getAllLinkQTDS() throws VCIError {
|
QTD[] qtds = QTDServerCacheUtil.getAllQTD();
|
|
List<QTD> lstQTD = new ArrayList<QTD>();
|
for (QTD qtd : qtds) {
|
if (StringUtils.isNotBlank(qtd.linkTypeName))
|
lstQTD.add(qtd);
|
}
|
|
return lstQTD.toArray(new QTD[0]);
|
|
// String sql = "select * from PL_QTEMPLATEDEF t where t.linkTypeName is not null";
|
// List<QTD> qtdList = new ArrayList<QTD>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTD qtd = new QTD();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtd.name = (String)obj[0];
|
// qtd.creator = (String)obj[1];
|
// qtd.createTime = dFormat.format((Date)obj[2]);
|
// qtd.btmName = (String)obj[3] == null ? "" : (String)obj[3];
|
// String abNames = ((String)obj[4]);
|
// if(abNames == null || abNames.equals("")){
|
// qtd.abNames = new String[0];
|
// }else{
|
// qtd.abNames = ((String)obj[4]).split(",");
|
// }
|
// qtd.linkTypeName = (String)obj[5];
|
// qtdList.add(qtd);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("PLMQTD-00003", e);
|
// }
|
// return qtdList.toArray(new QTD[0]);
|
}
|
|
public QTD[] getAllBTMQTDS() throws VCIError {
|
QTD[] qtds = QTDServerCacheUtil.getAllQTD();
|
|
List<QTD> lstQTD = new ArrayList<QTD>();
|
for (QTD qtd : qtds) {
|
if (StringUtils.isNotBlank(qtd.btmName))
|
lstQTD.add(qtd);
|
}
|
|
return lstQTD.toArray(new QTD[0]);
|
|
// String sql = "select * from PL_QTEMPLATEDEF t where t.btmName is not null";
|
// List<QTD> qtdList = new ArrayList<QTD>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTD qtd = new QTD();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtd.name = (String)obj[0];
|
// qtd.creator = (String)obj[1];
|
// qtd.createTime = dFormat.format((Date)obj[2]);
|
// qtd.btmName = (String)obj[3] == null ? "" : (String)obj[3];
|
// String abNames = ((String)obj[4]);
|
// if(abNames == null || abNames.equals("")){
|
// qtd.abNames = new String[0];
|
// }else{
|
// qtd.abNames = ((String)obj[4]).split(",");
|
// }
|
// qtd.linkTypeName = (String)obj[5] == null ? "" : (String)obj[5];
|
// qtdList.add(qtd);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("PLMQTD-00003", e);
|
// }
|
// return qtdList.toArray(new QTD[0]);
|
}
|
|
public QTD[] getAllQTD() {
|
|
return QTDServerCacheUtil.getAllQTD();
|
//
|
// String sql = "select * from PL_QTEMPLATEDEF t where 1=1";
|
// List<QTD> qtdList = new ArrayList<QTD>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTD qtd = new QTD();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtd.name = (String)obj[0];
|
// qtd.creator = (String)obj[1];
|
// qtd.createTime = dFormat.format((Date)obj[2]);
|
// qtd.btmName = (String)obj[3] == null ? "" : (String)obj[3];
|
// String abNames = ((String)obj[4]);
|
// if(abNames == null || abNames.equals("")){
|
// qtd.abNames = new String[0];
|
// }else{
|
// qtd.abNames = ((String)obj[4]).split(",");
|
// }
|
// qtd.linkTypeName = (String)obj[5] == null ? "" : (String)obj[5];
|
// qtdList.add(qtd);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// //throw getLocalVciError("PLMQTD-00003", e);
|
// }
|
// return qtdList.toArray(new QTD[0]);
|
}
|
|
public boolean deleteQTD(String qtdName) throws VCIError {
|
boolean flag = false;
|
if(qtdName == null || qtdName.equals("")){
|
ServerWithLog4j.logger.info("未指定要删除的查询模板定义");
|
return flag;
|
}
|
try{
|
String sql = "delete from PL_QTEMPLATEDEF t where t.qtdName = ?";
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setString(0, qtdName);
|
query.executeUpdate();
|
|
QTDServerCacheUtil.delQTD(qtdName);
|
return true;
|
}catch(Throwable e){
|
throw getLocalVciError("PLMQTD-00006", e);
|
}
|
}
|
|
public boolean updateQTD(QTD qtd) throws VCIError {
|
boolean flag = false;
|
if(qtd == null){
|
ServerWithLog4j.logger.info("修改的查询模板定义为null");
|
return flag;
|
}
|
try{
|
String sql = "update PL_QTEMPLATEDEF t set t.creator = ?, t.createtime = to_date(?, 'yyyy-MM-dd'), t.btmname= ?, t.abnames = ?, t.linkTypeName = ? where t.qtdname = ?";
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setString(0, qtd.creator);
|
|
query.setDate(1, new Date(qtd.createTime));
|
query.setString(2, qtd.btmName);
|
query.setString(3, arrayToString(qtd.abNames));
|
query.setString(4, qtd.linkTypeName);
|
query.setString(5, qtd.name);
|
query.executeUpdate();
|
flag = true;
|
|
QTDServerCacheUtil.setQTD(qtd);
|
}catch(Throwable e){
|
throw getLocalVciError("PLMQTD-00005", e);
|
}
|
return flag;
|
}
|
|
/**
|
* String数组加上',' 转换成String
|
* @param array
|
* @return
|
*/
|
private String arrayToString(String[] array){
|
StringBuilder strb = new StringBuilder();
|
for(int i = 0; i < array.length; i++){
|
strb.append(array[i]);
|
if(i < array.length - 1){
|
strb.append(",");
|
}
|
}
|
return strb.toString();
|
}
|
|
public QTD getQTDByName(String name) throws VCIError {
|
return QTDServerCacheUtil.getQTD(name);
|
// QTD qtd = new QTD();
|
// try{
|
// String sql = "select * from PL_QTEMPLATEDEF t where t.qtdName = ?";
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, name);
|
// List list = query.list();
|
// Object[] objArray = (Object[]) list.get(0);
|
// qtd.name = (String) objArray[0];
|
// qtd.creator = (String) objArray[1];
|
// qtd.createTime = dFormat.format((Date)objArray[2]);
|
// qtd.btmName = (String) objArray[3] == null ? "" : (String) objArray[3];
|
// qtd.abNames = ((String) objArray[4]).split(",");
|
// qtd.linkTypeName = (String) objArray[5] == null ? "" : (String) objArray[5];
|
// }catch(Throwable e){
|
// throw getLocalVciError("PLMQTD-00004", e);
|
// }
|
// return qtd;
|
}
|
|
public QTD[] getQTDsByLinkType(String ltName) throws VCIError {
|
|
return QTDServerCacheUtil.getLinkTypeQTDs(ltName);
|
|
// String sql = "select * from PL_QTEMPLATEDEF t where t.linkTypeName = ?";
|
// List<QTD> qtdList = new ArrayList<QTD>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, ltName);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTD qtd = new QTD();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtd.name = (String)obj[0];
|
// qtd.creator = (String)obj[1];
|
// qtd.createTime = dFormat.format((Date)obj[2]);
|
// qtd.btmName = (String)obj[3] == null ? "" : (String)obj[3];
|
// String abNames = ((String)obj[4]);
|
// if(abNames == null || abNames.equals("")){
|
// qtd.abNames = new String[0];
|
// }else{
|
// qtd.abNames = ((String)obj[4]).split(",");
|
// }
|
// qtd.linkTypeName = (String)obj[5];
|
// qtdList.add(qtd);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("PLMQTD-00003", e);
|
// }
|
// return qtdList.toArray(new QTD[0]);
|
}
|
|
public QTD[] getQTDsByBizType(String btName) throws VCIError {
|
return QTDServerCacheUtil.getBizTypeQTDs(btName);
|
// String sql = "select * from PL_QTEMPLATEDEF t where t.btmName = ?";
|
// List<QTD> qtdList = new ArrayList<QTD>();
|
// try{
|
// Session session = HibernateSessionFactory.getSession();
|
// SQLQuery query = session.createSQLQuery(sql);
|
// query.setString(0, btName);
|
// List list = query.list();
|
// for(int i = 0; i < list.size(); i++){
|
// QTD qtd = new QTD();
|
// Object[] obj = (Object[]) list.get(i);
|
// qtd.name = (String)obj[0];
|
// qtd.creator = (String)obj[1];
|
// qtd.createTime = dFormat.format((Date)obj[2]);
|
// qtd.btmName = (String)obj[3];
|
// String abNames = ((String)obj[4]);
|
// if(abNames == null || abNames.equals("")){
|
// qtd.abNames = new String[0];
|
// }else{
|
// qtd.abNames = ((String)obj[4]).split(",");
|
// }
|
// qtd.linkTypeName = (String)obj[5] == null ? "" : (String)obj[5];
|
// qtdList.add(qtd);
|
// }
|
// }catch(Throwable e){
|
// e.printStackTrace();
|
// throw getLocalVciError("PLMQTD-00003", e);
|
// }
|
// return qtdList.toArray(new QTD[0]);
|
}
|
|
public boolean saveQTD(QTD qtd) throws VCIError {
|
String sql = "insert into PL_QTEMPLATEDEF values(?, ?, to_date(?, 'yyyy-MM-dd'), ?, ?, ?)";
|
try{
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setString(0, qtd.name);
|
query.setString(1, qtd.creator);
|
//CreateTime 应取服务器时间
|
Date date = Calendar.getInstance().getTime();
|
qtd.createTime = date.getTime();
|
query.setString(2, dFormat.format(date));
|
query.setString(3, qtd.btmName);
|
query.setString(4, arrayToString(qtd.abNames));
|
query.setString(5, qtd.linkTypeName);
|
query.executeUpdate();
|
|
QTDServerCacheUtil.setQTD(qtd);
|
}catch(Throwable e){
|
throw new VCIError("PLMQTD-00002", new String[]{e.getMessage()});
|
}
|
return true;
|
}
|
|
public boolean isExistsQTD(String name) throws VCIError {
|
return QTDServerCacheUtil.isExistsQTD(name);
|
}
|
}
|