| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.client.bof.ClientBusinessObject; |
| | | import com.vci.client.bof.ClientLinkObject; |
| | | import com.vci.client.common.oq.OQTool; |
| | | import com.vci.client.common.providers.ServiceProvider; |
| | | import com.vci.common.qt.object.*; |
| | | import com.vci.common.utility.ObjectUtility; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.data.AttributeValue; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.corba.omd.data.LinkObject; |
| | | import com.vci.corba.omd.qtm.QTInfo; |
| | | import com.vci.corba.query.ObjectQueryService; |
| | | import com.vci.corba.query.ObjectQueryServicePrx; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.util.*; |
| | |
| | | */ |
| | | private ClientBusinessObject cloneClientBusinessObject(ClientBusinessObject cbo){ |
| | | if(cbo !=null){ |
| | | com.vci.corba.omd.data.BusinessObject businessObject = new com.vci.corba.omd.data.BusinessObject(); |
| | | com.vci.corba.omd.data.BusinessObject bo = cbo.getBusinessObject(); |
| | | BusinessObject businessObject = new BusinessObject(); |
| | | BusinessObject bo = cbo.getBusinessObject(); |
| | | businessObject.oid = new ObjectUtility().getNewObjectID36(); |
| | | businessObject.revisionid = new ObjectUtility().getNewObjectID36(); |
| | | businessObject.nameoid = new ObjectUtility().getNewObjectID36(); |
| | |
| | | * @param newAttrValList 属性值对象数组 |
| | | * @return 拷贝后的新属性数组 |
| | | */ |
| | | private com.vci.corba.omd.data.AttributeValue[] clone(com.vci.corba.omd.data.AttributeValue[] newAttrValList) { |
| | | com.vci.corba.omd.data.AttributeValue[] n = new com.vci.corba.omd.data.AttributeValue[newAttrValList.length]; |
| | | private AttributeValue[] clone(AttributeValue[] newAttrValList) { |
| | | AttributeValue[] n = new AttributeValue[newAttrValList.length]; |
| | | for (int i = 0; i < newAttrValList.length; i++) { |
| | | n[i] = new com.vci.corba.omd.data.AttributeValue(newAttrValList[i].attrName,newAttrValList[i].attrVal); |
| | | n[i] = new AttributeValue(newAttrValList[i].attrName,newAttrValList[i].attrVal); |
| | | } |
| | | return n; |
| | | } |
| | |
| | | |
| | | Map<String,String> data = new HashMap<String, String>(); |
| | | if(cbos!=null && cbos.size() > 0){ |
| | | for(com.vci.client.bof.ClientBusinessObject cbo : cbos){ |
| | | for(ClientBusinessObject cbo : cbos){ |
| | | data.put(cbo.getAttributeValue(fieldName),cbo.getOid()); |
| | | } |
| | | } |
| | |
| | | throw new VciBaseException("属性" + columnName + "的值为空"); |
| | | } |
| | | conditionMap.put(columnName,QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oidSet.toArray(new String[0])) + ")"); |
| | | List<com.vci.client.bof.ClientBusinessObject> cbos = queryCBO(btmName,conditionMap,null,Arrays.asList(new String[]{columnName})); |
| | | List<ClientBusinessObject> cbos = queryCBO(btmName,conditionMap,null,Arrays.asList(new String[]{columnName})); |
| | | if(cbos !=null && cbos.size() >0){ |
| | | for(com.vci.client.bof.ClientBusinessObject cbo : cbos){ |
| | | for(ClientBusinessObject cbo : cbos){ |
| | | String oid = cbo.getAttributeValue(columnName); |
| | | if(oidSet.contains(oid)){ |
| | | oidSet.remove(oid); |
| | |
| | | * @throws VciBaseException 查询出错的是抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBO(String btmType, |
| | | public List<ClientBusinessObject> queryCBO(String btmType, |
| | | Map<String, String> conditionMap) throws VciBaseException { |
| | | List<String> clauseList = new ArrayList<String>(); |
| | | clauseList.add("*"); |
| | |
| | | * @throws VciBaseException 查询出错的是抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBO(String btmType, |
| | | public List<ClientBusinessObject> queryCBO(String btmType, |
| | | Map<String, String> conditionMap, PageHelper ph) |
| | | throws VciBaseException { |
| | | List<String> clauseList = new ArrayList<String>(); |
| | |
| | | * @throws VciBaseException 查询出错的是抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBO(String btmType, |
| | | public List<ClientBusinessObject> queryCBO(String btmType, |
| | | Map<String, String> conditionMap, PageHelper ph, |
| | | List<String> clauseList) throws VciBaseException { |
| | | QueryTemplate qt = new QueryTemplate(); |
| | |
| | | * @throws VciBaseException 查询出错的时候会抛出异常 |
| | | */ |
| | | private List<ClientBusinessObject> baseQueryCBO(QueryTemplate qt,Map<String,String> conditionMap,PageHelper ph,List<String> clauseList) throws VciBaseException{ |
| | | List<com.vci.client.bof.ClientBusinessObject> allCbos = new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | List<ClientBusinessObject> allCbos = new ArrayList<ClientBusinessObject>(); |
| | | if(clauseList == null){ |
| | | clauseList = new ArrayList<String>(); |
| | | clauseList.add("*"); |
| | |
| | | return allCbos; |
| | | } |
| | | |
| | | public AttributeValue[] copyToAttributeValue(com.vci.corba.omd.data.AttributeValue[] attributeValues){ |
| | | public AttributeValue[] copyToAttributeValue(AttributeValue[] attributeValues){ |
| | | AttributeValue[] attributeValueList = new AttributeValue[attributeValues.length]; |
| | | for (int i = 0; i < attributeValues.length; i++) { |
| | | AttributeValue newAttributeValue = new AttributeValue(); |
| | |
| | | * 查询生命周期的值 |
| | | * @param cbos 业务对象 |
| | | */ |
| | | private void queryLcStatus(List<com.vci.client.bof.ClientBusinessObject> cbos){ |
| | | private void queryLcStatus(List<ClientBusinessObject> cbos){ |
| | | if(!CollectionUtils.isEmpty(cbos)){ |
| | | |
| | | Map<String, OsStatusVO> statusVOMap = statusService.selectAllStatusMap(); |
| | |
| | | * @param enumAttrName 枚举属性的值 |
| | | * @throws VciBaseException |
| | | */ |
| | | private void queryEnumText(com.vci.client.bof.ClientBusinessObject cbo,List<String> enumAttrName) throws VciBaseException{ |
| | | private void queryEnumText(ClientBusinessObject cbo,List<String> enumAttrName) throws VciBaseException{ |
| | | queryEnumText(cbo,null,enumAttrName); |
| | | } |
| | | |
| | |
| | | * @throws VciBaseException 查询枚举出错的时候会抛出异常 |
| | | */ |
| | | @Override |
| | | public void queryEnumText(com.vci.client.bof.ClientBusinessObject cbo, com.vci.client.bof.ClientLinkObject clo, List<String> enumAttrName) throws VciBaseException{ |
| | | public void queryEnumText(ClientBusinessObject cbo, ClientLinkObject clo, List<String> enumAttrName) throws VciBaseException{ |
| | | if(enumAttrName.size()>0){//查询枚举 |
| | | for(String enumAttr:enumAttrName){//格式为 code_field code是枚举的编码,field是当前业务类型存储枚举值的字段 |
| | | if(enumAttr.toLowerCase().equals("creator_name")){ |
| | |
| | | * @param attr 属性名 |
| | | * @param value 值 |
| | | */ |
| | | private void setValueToCboOrClo(com.vci.client.bof.ClientBusinessObject cbo,com.vci.client.bof.ClientLinkObject clo,String attr,String value){ |
| | | private void setValueToCboOrClo(ClientBusinessObject cbo,ClientLinkObject clo,String attr,String value){ |
| | | try { |
| | | if (cbo != null) { |
| | | cbo.setAttributeValueWithNoCheck(attr, value); |
| | |
| | | * @param attributeValue 属性的值 |
| | | */ |
| | | @Override |
| | | public void setAttributeValueForClo(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; |
| | | public void setAttributeValueForClo(ClientLinkObject clo, String attributeName, String attributeValue) { |
| | | AttributeValue[] attrValues = clo.getLinkObject().newAttrValList; |
| | | ArrayList<AttributeValue> attrValList = new ArrayList(); |
| | | AttributeValue attrVal; |
| | | int i; |
| | | if (attrValues != null && attrValues.length > 0) { |
| | | com.vci.corba.omd.data.AttributeValue[] var9 = attrValues; |
| | | AttributeValue[] var9 = attrValues; |
| | | i = attrValues.length; |
| | | |
| | | for (int var7 = 0; var7 < i; ++var7) { |
| | |
| | | boolean isExist = false; |
| | | |
| | | for (i = 0; i < attrValList.size(); ++i) { |
| | | attrVal = (com.vci.corba.omd.data.AttributeValue) attrValList.get(i); |
| | | attrVal = (AttributeValue) attrValList.get(i); |
| | | if (attrVal.attrName.toUpperCase().equals(attributeName.toUpperCase())) { |
| | | attrVal.attrVal = attributeValue; |
| | | isExist = true; |
| | |
| | | } |
| | | |
| | | if (!isExist) { |
| | | attrVal = new com.vci.corba.omd.data.AttributeValue(); |
| | | attrVal = new 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()]); |
| | | clo.getLinkObject().newAttrValList = (AttributeValue[]) attrValList.toArray(new AttributeValue[attrValList.size()]); |
| | | } |
| | | |
| | | |
| | |
| | | * @param enumAttrName 枚举属性 |
| | | * @throws VciBaseException 查询出错的时候会抛出异常 |
| | | */ |
| | | private void queryEnumTextClo(com.vci.client.bof.ClientLinkObject clo,List<String> enumAttrName) throws VciBaseException{ |
| | | private void queryEnumTextClo(ClientLinkObject clo,List<String> enumAttrName) throws VciBaseException{ |
| | | queryEnumText(null,clo,enumAttrName); |
| | | } |
| | | |
| | |
| | | * @throws VciBaseException 查询出错的时候会抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | public List<ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | Map<String, String> conditionMap, Map<String, String> replaceMap) |
| | | throws VciBaseException { |
| | | PageHelper ph = new PageHelper(-1); |
| | |
| | | * @throws VciBaseException 查询出错的时候会抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | public List<ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | Map<String, String> conditionMap, Map<String, String> replaceMap, |
| | | PageHelper ph) throws VciBaseException { |
| | | List<String> clauseList = new ArrayList<String>(); |
| | |
| | | QueryTemplate qt = null; |
| | | try{ |
| | | VciBaseUtil.alertNotNull(name,"查询模板的名称"); |
| | | // QTWrapper wrapper = platformClientUtil.getQueryService().getQT(name); |
| | | QTInfo wrapper = ServiceProvider.getOMDService().getQTDService().getQT(name); |
| | | QTInfo wrapper = platformClientUtil.getQTDService().getQT(name); |
| | | qt = OQTool.getQTByDoc(DocumentHelper.parseText(wrapper.qtText), name); |
| | | //因为之前平台的Tool.replaceQTValues 没有处理 ${xxx}。, 为了忽略大小写,我们这里单独处理 weidy@2021-3-10 |
| | | //我们转换为小写 |
| | |
| | | * @throws VciBaseException 查询出错会抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | public List<ClientBusinessObject> queryCBOByScheme(String queryScheme, |
| | | Map<String, String> conditionMap, Map<String, String> replaceMap, |
| | | PageHelper ph, List<String> clauseList) throws VciBaseException { |
| | | QueryTemplate qt = getQtByName(queryScheme,replaceMap); |
| | |
| | | * @throws VciBaseException 查询出错会抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryBySql(String sql, |
| | | public List<ClientBusinessObject> queryBySql(String sql, |
| | | Map<String, String> conditionMap) throws VciBaseException { |
| | | List<Map> allData = queryBySqlForMap(sql,conditionMap); |
| | | if(allData == null || allData.size() == 0){ |
| | | return new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | return new ArrayList<ClientBusinessObject>(); |
| | | }else{ |
| | | return map2Cbos(allData); |
| | | } |
| | |
| | | * @throws VciBaseException 查询出错活抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> queryByOnlySql(String sql) throws VciBaseException{ |
| | | public List<ClientBusinessObject> queryByOnlySql(String sql) throws VciBaseException{ |
| | | List<Map> allData = queryByOnlySqlForMap(sql); |
| | | if(allData == null || allData.size() == 0){ |
| | | return new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | return new ArrayList<ClientBusinessObject>(); |
| | | }else{ |
| | | return map2Cbos(allData); |
| | | } |
| | |
| | | } |
| | | List<Map> dataList = new ArrayList<>(); |
| | | try { |
| | | // KV[][] kvs = platformClientUtil.getQueryService().queryBySql(sql); |
| | | com.vci.corba.query.data.KV[][] kvs = ServiceProvider.getOQService().queryBySql(sql); |
| | | KV[][] kvs = platformClientUtil.getQueryService().queryBySql(sql); |
| | | if(kvs!=null && kvs.length>0){ |
| | | for (int i = 0; i < kvs.length; i++) { |
| | | Map<String,String> data = new HashMap<>(); |
| | | com.vci.corba.query.data.KV[] kv = kvs[i]; |
| | | KV[] kv = kvs[i]; |
| | | if(kv!=null && kv.length >0){ |
| | | for (int j = 0; j < kv.length; j++) { |
| | | KV kv1 = kv[j]; |
| | |
| | | sql = sql.replaceAll(" FROM "," from "); |
| | | } |
| | | |
| | | com.vci.corba.omd.data.AttributeValue[] ava = null; |
| | | AttributeValue[] ava = null; |
| | | if(conditionMap!=null&&!conditionMap.isEmpty()){ |
| | | ava = new com.vci.corba.omd.data.AttributeValue[conditionMap.size()]; |
| | | ava = new AttributeValue[conditionMap.size()]; |
| | | Iterator<String> it = conditionMap.keySet().iterator(); |
| | | int i = 0 ; |
| | | while(it.hasNext()){ |
| | |
| | | if(value == null){ |
| | | value = ""; |
| | | } |
| | | com.vci.corba.omd.data.AttributeValue av = new com.vci.corba.omd.data.AttributeValue(key, value); |
| | | AttributeValue av = new AttributeValue(key, value); |
| | | ava[i] = av; |
| | | i++; |
| | | } |
| | | }else{ |
| | | ava = new com.vci.corba.omd.data.AttributeValue[0]; |
| | | ava = new AttributeValue[0]; |
| | | } |
| | | try { |
| | | // String[][] results =platformClientUtil.getBOFactoryService().getSqlQueryResult(sql, ava); |
| | | String[][] results =ServiceProvider.getBOFService().getSqlQueryResult(sql, ava); |
| | | String[][] results =platformClientUtil.getSqlQueryService(sql, ava); |
| | | if(results.length>0){ |
| | | if(selectKeys==null) { |
| | | String selectSql = sql.substring(sql.toLowerCase(Locale.ROOT).indexOf("select") + 6, sql.toLowerCase(Locale.ROOT).indexOf(" from")).trim(); |
| | |
| | | allFieldAttrMap.put(columnName.toLowerCase(),fieldName); |
| | | } |
| | | List<T> allObject = new ArrayList<T>(); |
| | | List<com.vci.client.bof.ClientBusinessObject> allCbos = queryCBO(WebUtil.getBtmTypeByObject(c), conditionMap, ph, allFieldAttrMap.keySet().stream().collect(Collectors.toList()));//执行查询 |
| | | List<ClientBusinessObject> allCbos = queryCBO(WebUtil.getBtmTypeByObject(c), conditionMap, ph, allFieldAttrMap.keySet().stream().collect(Collectors.toList()));//执行查询 |
| | | List<String> oids = new ArrayList<String>(); |
| | | |
| | | if(allCbos!=null&&allCbos.size()>0){ |
| | | for(com.vci.client.bof.ClientBusinessObject cbo : allCbos){ |
| | | for(ClientBusinessObject cbo : allCbos){ |
| | | T obj = null; |
| | | try { |
| | | obj = c.newInstance(); |
| | |
| | | allFieldAttrMap.put(columnName.toLowerCase(),fieldName); |
| | | } |
| | | List<T> allObject = new ArrayList<T>(); |
| | | List<com.vci.client.bof.ClientBusinessObject> allCbos = queryCBOByScheme(queryScheme, conditionMap, replaceMap,ph, allFieldAttrMap.keySet().stream().collect(Collectors.toList())); |
| | | List<ClientBusinessObject> allCbos = queryCBOByScheme(queryScheme, conditionMap, replaceMap,ph, allFieldAttrMap.keySet().stream().collect(Collectors.toList())); |
| | | List<String> oids = new ArrayList<String>(); |
| | | if(allCbos!=null&&allCbos.size()>0){ |
| | | for(com.vci.client.bof.ClientBusinessObject cbo : allCbos){ |
| | | for(ClientBusinessObject cbo : allCbos){ |
| | | T obj = null; |
| | | try { |
| | | obj = c.newInstance(); |
| | |
| | | * @param isEdit 是否为编辑 |
| | | * @throws VciBaseException 设置出错会抛出异常 |
| | | */ |
| | | private void setValueToCbo(Object obj,String btmType,com.vci.client.bof.ClientBusinessObject cbo ,boolean isEdit) throws VciBaseException{ |
| | | private void setValueToCbo(Object obj,String btmType,ClientBusinessObject cbo ,boolean isEdit) throws VciBaseException{ |
| | | Field pkField = WebUtil.getPkFieldForObj(obj.getClass()); |
| | | if(pkField == null){ |
| | | throw new VciBaseException("{0}类中没有定义主键属性",new Object[]{obj.getClass()}); |
| | |
| | | if(list==null){ |
| | | throw new VciBaseException(VciBaseException.paramNull); |
| | | } |
| | | Set<com.vci.client.bof.ClientBusinessObject> allUpdateCbos = new HashSet<com.vci.client.bof.ClientBusinessObject>(); |
| | | Set<com.vci.client.bof.ClientBusinessObject> allDeleteCbos = new HashSet<com.vci.client.bof.ClientBusinessObject>(); |
| | | Set<com.vci.client.bof.ClientBusinessObject> allAddCbos = new HashSet<com.vci.client.bof.ClientBusinessObject>(); |
| | | Set<ClientBusinessObject> allUpdateCbos = new HashSet<ClientBusinessObject>(); |
| | | Set<ClientBusinessObject> allDeleteCbos = new HashSet<ClientBusinessObject>(); |
| | | Set<ClientBusinessObject> allAddCbos = new HashSet<ClientBusinessObject>(); |
| | | Map<String,String> btmOidsMap = new HashMap<String, String>(); |
| | | for(T obj : list){ |
| | | String btmType = WebUtil.getBtmTypeByObject(obj.getClass()); |
| | |
| | | } |
| | | btmOidsMap.put(btmType, tempOids); |
| | | } |
| | | List<com.vci.client.bof.ClientBusinessObject> needUpdateCbos = new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | List<ClientBusinessObject> needUpdateCbos = new ArrayList<ClientBusinessObject>(); |
| | | Iterator<String> it = btmOidsMap.keySet().iterator(); |
| | | while(it.hasNext()){ |
| | | String btmType = it.next(); |
| | |
| | | } |
| | | //主键 |
| | | Object pkValue = WebUtil.getValueFromField(pkField.getName(), obj); |
| | | com.vci.client.bof.ClientBusinessObject cbo = null; |
| | | ClientBusinessObject cbo = null; |
| | | if(pkValue == null || (pkValue instanceof String && WebUtil.isNull(pkValue.toString()))){ |
| | | continue; |
| | | }else{ |
| | | for(com.vci.client.bof.ClientBusinessObject tempCbo : needUpdateCbos){ |
| | | for(ClientBusinessObject tempCbo : needUpdateCbos){ |
| | | if(tempCbo.getOid().equalsIgnoreCase(pkValue.toString().trim())){ |
| | | cbo = tempCbo; |
| | | break; |
| | |
| | | } |
| | | String btmType = WebUtil.getBtmTypeByObject(obj.getClass()); |
| | | //拷贝之前先清除已经有的值 |
| | | cbo.getBusinessObject().newAttrValList = new com.vci.corba.omd.data.AttributeValue[0]; |
| | | cbo.getBusinessObject().newAttrValList = new AttributeValue[0]; |
| | | setValueToCbo(obj,btmType,cbo,true); |
| | | allUpdateCbos.add(cbo); |
| | | } |
| | |
| | | * @throws VciBaseException 转换出错会抛出异常 |
| | | */ |
| | | @Override |
| | | public Map cbo2Map(com.vci.client.bof.ClientBusinessObject cbo) throws VciBaseException { |
| | | public Map cbo2Map(ClientBusinessObject cbo) throws VciBaseException { |
| | | Map<String,String> map = new HashMap<String, String>(); |
| | | WebUtil.copyValueToMapFromCbos(cbo, map); |
| | | return map; |
| | |
| | | * @throws VciBaseException 转换出错会抛出异常 |
| | | */ |
| | | @Override |
| | | public List<com.vci.client.bof.ClientBusinessObject> map2Cbos(List<Map> mapList) |
| | | public List<ClientBusinessObject> map2Cbos(List<Map> mapList) |
| | | throws VciBaseException { |
| | | List<com.vci.client.bof.ClientBusinessObject> cboList = new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | List<ClientBusinessObject> cboList = new ArrayList<ClientBusinessObject>(); |
| | | for(Map map : mapList){ |
| | | cboList.add(map2Cbo(map)); |
| | | } |
| | |
| | | * @throws VciBaseException 转换出错会抛出异常 |
| | | */ |
| | | @Override |
| | | public com.vci.client.bof.ClientBusinessObject map2Cbo(Map map) throws VciBaseException { |
| | | com.vci.client.bof.ClientBusinessObject cbo = new com.vci.client.bof.ClientBusinessObject(); |
| | | public ClientBusinessObject map2Cbo(Map map) throws VciBaseException { |
| | | ClientBusinessObject cbo = new ClientBusinessObject(); |
| | | WebUtil.copyValueToCboFromMap(cbo, map); |
| | | return cbo; |
| | | } |
| | |
| | | deleteReferAttrInCbo(batchCbos.getDeleteCbos()); |
| | | } |
| | | try { |
| | | // platformClientUtil.getBOFactoryService().batchCUDBOLO(new BusinessObjectListHolder(cboArray2Bo(batchCbos.getCreateCboArray())), |
| | | // new LinkObjectListHolder(cloArray2Lo(batchCbos.getCreateCloArray())), |
| | | // new BusinessObjectListHolder(cboArray2Bo(batchCbos.getUpdateCboArray())), |
| | | // new LinkObjectListHolder(cloArray2Lo(batchCbos.getUpdateCloArray())), |
| | | // cboArray2Bo(batchCbos.getDeleteCboArray()), cloArray2Lo(batchCbos.getDeleteCloArray())); |
| | | // new BusinessObjectListHolder(cboArray2Bo(batchCbos.getCreateCboArray())) |
| | | ServiceProvider.getBOFService().batchCUDBOLO(cboArray2Bo(batchCbos.getCreateCboArray()), |
| | | platformClientUtil.getBOFactoryService().batchCUDBOLO(cboArray2Bo(batchCbos.getCreateCboArray()), |
| | | cloArray2Lo(batchCbos.getCreateCloArray()), |
| | | cboArray2Bo(batchCbos.getUpdateCboArray()), |
| | | cloArray2Lo(batchCbos.getUpdateCloArray()), |
| | |
| | | * @param cbos 客户端对象 |
| | | * @return 业务对象 |
| | | */ |
| | | private com.vci.corba.omd.data.BusinessObject[] cboArray2Bo(ClientBusinessObject[] cbos){ |
| | | private BusinessObject[] cboArray2Bo(ClientBusinessObject[] cbos){ |
| | | if(cbos == null ||cbos.length == 0){ |
| | | return new com.vci.corba.omd.data.BusinessObject[0]; |
| | | return new BusinessObject[0]; |
| | | } |
| | | com.vci.corba.omd.data.BusinessObject[] bos = new com.vci.corba.omd.data.BusinessObject[cbos.length]; |
| | | BusinessObject[] bos = new BusinessObject[cbos.length]; |
| | | for(int i = 0; i < cbos.length; i++){ |
| | | bos[i] = cbos[i].getBusinessObject(); |
| | | } |
| | |
| | | * @param clos 客户端对象 |
| | | * @return 业务对象 |
| | | */ |
| | | private com.vci.corba.omd.data.LinkObject[] cloArray2Lo(com.vci.client.bof.ClientLinkObject[] clos){ |
| | | private LinkObject[] cloArray2Lo(ClientLinkObject[] clos){ |
| | | if(clos == null ||clos.length == 0){ |
| | | return new com.vci.corba.omd.data.LinkObject[0]; |
| | | return new LinkObject[0]; |
| | | } |
| | | com.vci.corba.omd.data.LinkObject[] bos = new com.vci.corba.omd.data.LinkObject[clos.length]; |
| | | LinkObject[] bos = new LinkObject[clos.length]; |
| | | for(int i = 0; i < clos.length; i++){ |
| | | bos[i] = clos[i].getLinkObject(); |
| | | } |
| | |
| | | private void deleteReferAttrInCbo(Set<ClientBusinessObject> cbos){ |
| | | if(cbos !=null){ |
| | | for(ClientBusinessObject cbo : cbos){ |
| | | com.vci.corba.omd.data.BusinessObject bo = cbo.getBusinessObject(); |
| | | List<com.vci.corba.omd.data.AttributeValue> newAttr = new ArrayList<com.vci.corba.omd.data.AttributeValue>(); |
| | | BusinessObject bo = cbo.getBusinessObject(); |
| | | List<AttributeValue> newAttr = new ArrayList<AttributeValue>(); |
| | | if (bo.newAttrValList != null) { |
| | | for (int i = 0; i < bo.newAttrValList.length; ++i) { |
| | | com.vci.corba.omd.data.AttributeValue av = bo.newAttrValList[i]; |
| | | AttributeValue av = bo.newAttrValList[i]; |
| | | if (WebUtil.isNormalAttr(av.attrName)) { |
| | | if(av.attrVal == null){ |
| | | av.attrVal = ""; |
| | |
| | | } |
| | | } |
| | | } |
| | | bo.newAttrValList = newAttr.toArray(new com.vci.corba.omd.data.AttributeValue[0]); |
| | | bo.newAttrValList = newAttr.toArray(new AttributeValue[0]); |
| | | cbo.setBusinessObject(bo); |
| | | } |
| | | } |