package com.vci.web.service;
|
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.DataGrid;
|
import com.vci.starter.web.pagemodel.PageHelper;
|
import com.vci.web.query.UILinkTypeDataQuery;
|
import plm.bs.bom.clientobject.ClientBusinessObject;
|
import plm.bs.bom.clientobject.ClientLinkObject;
|
import plm.bs.bom.clientobject.ClientLinkObjectOperation;
|
import plm.bs.bom.common.AttributeValue;
|
import plm.bs.bom.common.LinkObject;
|
import plm.corba.qt.BOAndLO;
|
|
import java.util.ArrayList;
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
public interface WebLoServiceI {
|
|
|
/**
|
* 获取平台的链接类型的操作类
|
* @return
|
* @throws VciBaseException
|
*/
|
ClientLinkObjectOperation getLoOption() throws VciBaseException;
|
|
/**
|
* 根据查询条件来查询链接类型
|
* @param linkType 链接类型
|
* @param conditionMap
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> queryCLO(String linkType, Map<String, String> conditionMap) throws VciBaseException;
|
|
/**
|
* 根据查询条件来查询链接类型
|
* @param linkType 链接类型
|
* @param toBtmname to端的业务类型
|
* @param conditionMap 查询条件
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientBusinessObject> queryLinkCbo(String linkType, String toBtmname, Map<String, String> conditionMap) throws VciBaseException;
|
|
/**
|
* 查询链接类型
|
* @param linkType 链接类型
|
* @param toBtmName to 端的业务类型
|
* @param level 查询级别
|
* @param conditionMap 查询条件
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> queryCLO(String linkType, String toBtmName, int level, Map<String, String> conditionMap) throws VciBaseException;
|
|
/**
|
* 查询to端的业务类型
|
* @param linkType 链接类型
|
* @param toBtmname to端的业务类型
|
* @param level 级别
|
* @param conditionMap 查询条件
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientBusinessObject> queryLinkCbo(String linkType, String toBtmname, int level, Map<String, String> conditionMap) throws VciBaseException;
|
|
/**
|
* 查询链接类型
|
* @param linkType 链接类型
|
* @param toBtmName to端的业务类型
|
* @param level 级别
|
* @param isDirection 是否反向
|
* @param conditionMap 查询条件
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> queryCLO(String linkType, String toBtmName,
|
int level, boolean isDirection, Map<String, String> conditionMap)
|
throws VciBaseException;
|
|
/**
|
* 查询链接类型
|
* @param linkType 链接类型
|
* @param toBtmName to端的业务类型
|
* @param level 级别
|
* @param isDirection 是否反向
|
* @param conditionMap 查询条件
|
* @param ph 分页对象
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> queryCLO(String linkType, String toBtmName,
|
int level, boolean isDirection, Map<String, String> conditionMap, PageHelper ph)
|
throws VciBaseException;
|
|
/**
|
* 查询to端的业务类型
|
* @param linkType 链接类型
|
* @param toBtmname to端的业务类型
|
* @param level 级别
|
* @param isDirection 反向
|
* @param conditionMap 查询条件
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientBusinessObject> queryLinkCbo(String linkType, String toBtmname,
|
int level, boolean isDirection, Map<String, String> conditionMap)
|
throws VciBaseException;
|
|
/**
|
* 查询链接类型某端的业务类型
|
* @param lo 链接类型对象
|
* @param isDirection 是否反向
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String,com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(LinkObject[] lo, boolean isDirection) throws VciBaseException;
|
|
/**
|
*查询链接类型某端的业务类型
|
* @param los 链接类型对象
|
* @param isDirection 是否反向
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String,com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(List los, boolean isDirection) throws VciBaseException;
|
|
/**
|
*查询链接类型某端的业务类型
|
* @param clo 链接类型对象
|
* @param isDirection 是否反向
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String,com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(ClientLinkObject[] clo, boolean isDirection) throws VciBaseException;
|
|
/**
|
* 查询链接类型某端的业务类型
|
* @param clol 链接类型
|
* @param isDirection 是否反向
|
* @param queryColumn 要查询的列
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(ClientLinkObject[] clol,
|
boolean isDirection, List<String> queryColumn) throws VciBaseException;
|
|
/**
|
* 查询链接类型某端的业务类型
|
* @param los 链接类型
|
* @param isDirection 是否反向
|
* @param queryColumn 要查询的列
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(List los,
|
boolean isDirection, List<String> queryColumn) throws VciBaseException;
|
|
/**
|
* ClientLinkObject 转为HashMap
|
* @param clos clos
|
* @return map
|
* @throws VciBaseException
|
*/
|
List<Map> clos2Map(List<com.vci.client.bof.ClientLinkObject> clos) throws VciBaseException;
|
|
/**
|
* ClientLinkObject 转为HashMap
|
* @param clo
|
* @return
|
* @throws VciBaseException
|
*/
|
Map clo2Map(com.vci.client.bof.ClientLinkObject clo) throws VciBaseException;
|
|
/**
|
* map转为ClientLinkObject
|
* @param map
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> map2Clos(List<Map> map) throws VciBaseException;
|
|
/**
|
* map转为ClientLinkObject
|
* @param map
|
* @return
|
* @throws VciBaseException
|
*/
|
ClientLinkObject map2Clo(Map map) throws VciBaseException;
|
|
/**
|
* 保存链接类型对象
|
* @param clos 保存的业务类型对象
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ClientLinkObject> saveClientLinkObjects(List<ClientLinkObject> clos) throws VciBaseException;
|
|
/**
|
* 创建连接类型
|
* @param loName
|
* @return
|
* @throws VciBaseException
|
*/
|
ClientLinkObject createClientLinkObject(String loName) throws VciBaseException;
|
|
/**
|
* 拷贝链接类型
|
* @param clo 链接类型对象
|
* @return
|
* @throws VciBaseException
|
*/
|
ClientLinkObject cloneClientLinkObject(ClientLinkObject clo) throws VciBaseException;
|
|
/**
|
* 删除链接类型
|
* @param clos 链接类型的内容
|
* @throws VciBaseException
|
*/
|
void deleteClientLinkObjects(List<ClientLinkObject> clos) throws VciBaseException;
|
|
/**
|
* 更新链接类型
|
* @param clos 链接类型的对象
|
* @throws VciBaseException 执行出错会抛出异常
|
*/
|
void updateClientLinkObject(List<ClientLinkObject> clos) throws VciBaseException;
|
|
/**
|
* 查询链接类型和业务类型
|
* @param linkTypeDataQuery 查询对象
|
* @return 链接类型和关联的to端
|
*/
|
List<com.vci.corba.query.data.BOAndLO> queryCLOAndBOBySchema(UILinkTypeDataQuery linkTypeDataQuery) ;
|
|
/**
|
* 使用链接类型的名称查询 链接类型的to端的业务类型
|
* @param linkTypeDataQuery 查询的对象
|
* @return 链接对象和to端业务对象
|
*/
|
List<com.vci.corba.query.data.BOAndLO> queryCLOAndBoByLinkType(UILinkTypeDataQuery linkTypeDataQuery);
|
|
/**
|
* 查询列表
|
* @param linkTypeDataQuery 查询的对象
|
* @return 列表的数据
|
*/
|
DataGrid queryGridByScheme(UILinkTypeDataQuery linkTypeDataQuery);
|
|
/**
|
* 链接类型查询数量
|
* @param linkType 链接类型
|
* @param conditionMap 查询条件
|
* @return 属性
|
*/
|
Integer queryCount(String linkType, Map<String, String> conditionMap);
|
|
/**
|
* 链接类型查询数量
|
*
|
* @param linkType 链接类型
|
* @param conditionMap 查询条件
|
* @param isDirection 是否反向
|
* @param level 层级
|
* @return 个数
|
*/
|
Integer queryCount(String linkType, Map<String, String> conditionMap, boolean isDirection, Integer level);
|
|
/**
|
* 链接类型
|
* @param clo 链接类型
|
* @param attributeName 属性名称
|
* @param attributeValue 属性的值
|
*/
|
public default void setAttribute(com.vci.client.bof.ClientLinkObject clo,String attributeName,String attributeValue){
|
com.vci.corba.omd.data.AttributeValue[] attrValues =clo.getLinkObject().newAttrValList;
|
ArrayList<com.vci.corba.omd.data.AttributeValue> attrValList = new ArrayList();
|
com.vci.corba.omd.data.AttributeValue attrVal;
|
int i;
|
if (attrValues != null && attrValues.length > 0) {
|
com.vci.corba.omd.data.AttributeValue[] var9 = attrValues;
|
i = attrValues.length;
|
|
for(int var7 = 0; var7 < i; ++var7) {
|
attrVal = var9[var7];
|
attrValList.add(attrVal);
|
}
|
}
|
|
attrVal = null;
|
boolean isExist = false;
|
|
for(i = 0; i < attrValList.size(); ++i) {
|
attrVal = (com.vci.corba.omd.data.AttributeValue)attrValList.get(i);
|
if (attrVal.attrName.toUpperCase().equals(attributeName.toUpperCase())) {
|
attrVal.attrVal = attributeValue;
|
isExist = true;
|
break;
|
}
|
}
|
|
if (!isExist) {
|
attrVal = new com.vci.corba.omd.data.AttributeValue();
|
attrVal.attrName = attributeName.toUpperCase();
|
attrVal.attrVal = attributeValue;
|
attrValList.add(attrVal);
|
}
|
|
clo.getLinkObject().newAttrValList = (com.vci.corba.omd.data.AttributeValue[])attrValList.toArray(new com.vci.corba.omd.data.AttributeValue[attrValList.size()]);
|
};
|
}
|