package com.vci.server.portal.service;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
|
import com.vci.server.base.persistence.dao.BaseService;
|
import com.vci.server.base.persistence.dao.HibernateSessionFactory;
|
import com.vci.server.portal.dao.impl.PLTabPageEntityDaoImpl;
|
import com.vci.server.portal.entity.PLTabPageEntity;
|
|
public class PLTabPageEntityService extends BaseService{
|
|
private static PLTabPageEntityService instance = null;
|
|
private PLTabPageEntityService(){
|
|
}
|
|
public static PLTabPageEntityService getInstance(){
|
if(instance == null){
|
instance = new PLTabPageEntityService();
|
}
|
return instance;
|
}
|
/**
|
* 新增对象
|
* @param obj
|
* @throws Throwable
|
*/
|
public boolean savePLTabPageEntity(PLTabPageEntity obj) throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
daoImpl.saveOrUpdate(obj);
|
return true;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 批量保持页签
|
* @param plTabPages
|
* @return
|
* @throws Throwable
|
*/
|
public boolean batchSavePLTabPageEntity(PLTabPageEntity[] objs) throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
List<PLTabPageEntity> list = new ArrayList<PLTabPageEntity>();
|
int batchNum = 200;
|
for (int i = 0; i < objs.length; i++) {
|
list.add(objs[i]);
|
if ((i + 1) % batchNum == 0) {
|
daoImpl.saveOrUpdateAll(list);
|
list = new ArrayList<PLTabPageEntity>();
|
}
|
}
|
daoImpl.saveOrUpdateAll(list);
|
return true;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 更新对象
|
* @param obj
|
* @return
|
* @throws Throwable
|
*/
|
public boolean updatePLTabPageEntity(PLTabPageEntity obj) throws Throwable{
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
PLTabPageEntity objGet = daoImpl.getById(obj.getId());
|
if (objGet == null) {
|
daoImpl.saveOrUpdate(obj);
|
} else {
|
// objGet.setId(obj.getId());
|
objGet.setPlCode(obj.getPlCode());
|
objGet.setPlName(obj.getPlName());
|
objGet.setPlIsOpen(obj.getPlIsOpen());
|
objGet.setPlLabel(obj.getPlLabel());
|
objGet.setPlDesc(obj.getPlDesc());
|
objGet.setPlSeq(obj.getPlSeq());
|
objGet.setPlContextOId(obj.getPlContextOId());
|
// objGet.setPlCreateTime(obj.getPlCreateTime());
|
objGet.setPlCreateUser(obj.getPlCreateUser());
|
objGet.setPlModifyTime(obj.getPlModifyTime());
|
objGet.setPlModifyUser(obj.getPlModifyUser());
|
objGet.setPlLicensOrs(obj.getPlLicensOrs());
|
objGet.setPlOpenExpression(obj.getPlOpenExpression());
|
objGet.setPlUIParser(obj.getPlUIParser());
|
objGet.setPlExtAttr(obj.getPlExtAttr());
|
daoImpl.saveOrUpdate(objGet);
|
}
|
return true;
|
}catch(Throwable e){
|
throw e;
|
}
|
|
}
|
|
/**
|
* 删除对象
|
* @param obj
|
* @return
|
* @throws Throwable
|
*/
|
public boolean deletePLTabPageEntity(PLTabPageEntity obj) throws Throwable{
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
daoImpl.delete(obj);
|
return true;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 根据Id删除指定的对象
|
* @param id
|
* @return
|
* @throws Throwable
|
*/
|
public boolean deletePLTabPageEntityById(String id) throws Throwable{
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
PLTabPageEntity obj = daoImpl.getById(id);
|
if (obj != null) {
|
daoImpl.delete(obj);
|
}
|
return true;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 根据ID获取指定的PLTabPage
|
* @param plOId
|
* @return
|
* @throws Throwable
|
*/
|
public PLTabPageEntity getPLTabPageEntityById(String plOId) throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
return daoImpl.getById(plOId);
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 根据plPageDefinationOId获取PLPageLayoutDefinationArray
|
* @param plPageDefinationOId
|
* @return
|
* @throws Throwable
|
*/
|
public List<PLTabPageEntity> getPLTabPageEntitysByPageDefinationOId(
|
String plPageDefinationOId) throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
List<PLTabPageEntity> list = daoImpl.findEntities("from PLTabPageEntity where plPageDefinationOId = '" + plPageDefinationOId + "'");
|
return list;
|
}catch(Throwable e){
|
throw e;
|
}
|
|
}
|
|
/**
|
* 根据type,pageLayoutName获取指定的PLTabPage
|
* @param type
|
* @param code
|
* @return
|
* @throws Throwable
|
*/
|
public List<PLTabPageEntity> getPLTabPageEntitysByTypeANDCode(
|
String type, String code) throws Throwable {
|
try {
|
Session session = HibernateSessionFactory.getSession();
|
SQLQuery sql = session.createSQLQuery("select * from PLTABPAGE t join PLUILAYOUT p on t.plPageDefinationOId " +
|
"= p.plOId where p.plRelatedType = ? and p.plCode = ?");
|
sql.setString(0, type);
|
sql.setString(1, code);
|
List list = sql.list();
|
List<PLTabPageEntity> entityList = new ArrayList<PLTabPageEntity>();
|
for(int i = 0; i < list.size(); i++){
|
PLTabPageEntity entity = new PLTabPageEntity();
|
Object[] objs = (Object[]) list.get(i);
|
entity.setPlOId((String)objs[0]);
|
entity.setPlCode((String)objs[1]);
|
entity.setPlName((String)objs[2]);
|
entity.setPlIsOpen(((BigDecimal)objs[3]).shortValue());
|
entity.setPlLabel((String)objs[4]);
|
entity.setPlDesc((String)objs[5]);
|
entity.setPlSeq(((BigDecimal)objs[6]).shortValue());
|
entity.setPlContextOId((String)objs[7]);
|
entity.setPlCreateTime((Date)objs[8]);
|
entity.setPlCreateUser((String)objs[9]);
|
entity.setPlModifyTime((Date)objs[10]);
|
entity.setPlModifyUser((String)objs[11]);
|
entity.setPlLicensOrs((String)objs[12]);
|
entity.setPlOpenExpression((String)objs[13]);
|
|
entityList.add(entity);
|
}
|
return entityList;
|
}catch(Throwable e){
|
throw e;
|
}
|
|
}
|
|
/**
|
* 根据上下文ID和区域的类型,按顺序获取当前tab页
|
* @param contextId
|
* @param type
|
* @return
|
* @throws Throwable
|
*/
|
public List<PLTabPageEntity> getTabPageByContextIdAndType(String contextId, int type) throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
List<PLTabPageEntity> list = daoImpl.findEntities("from PLTabPageEntity where plPageDefinationOId = '" + contextId + "' and areaType = " + type + " order by plSeq");
|
return list;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
|
/**
|
* 获取全量结果集,缓存使用
|
* @auther liu,20150727
|
* @return
|
* @throws Throwable
|
*/
|
public List<PLTabPageEntity> getAllTabPages() throws Throwable {
|
try {
|
PLTabPageEntityDaoImpl daoImpl = new PLTabPageEntityDaoImpl();
|
List<PLTabPageEntity> list = daoImpl.findEntities("from PLTabPageEntity order by plSeq");
|
return list;
|
}catch(Throwable e){
|
throw e;
|
}
|
}
|
}
|