From e2901239c7453c204beb0e1db4495cd29ff55e9c Mon Sep 17 00:00:00 2001 From: yuxc <ldc@vci.com> Date: 星期五, 19 四月 2024 17:49:14 +0800 Subject: [PATCH] 1、增加sql查询出的数组与查询字段的对应转成ClientBusinessObject类,以及部分基础类的替换成新平台的类。 --- Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java | 69 +++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 23 deletions(-) diff --git a/Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java b/Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java index 2dc6fe5..6b512d2 100644 --- a/Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java +++ b/Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java @@ -20,6 +20,9 @@ import com.vci.web.pageModel.*; import com.vci.web.properties.WebProperties; import com.vci.web.service.impl.WebLoServiceImpl; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; +import net.sf.jsqlparser.statement.select.PlainSelect; +import net.sf.jsqlparser.statement.select.SelectItem; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1077,7 +1080,7 @@ * @param cbo 涓氬姟鏁版嵁 * @param obj 瀵硅薄 */ - public static void copyValueToObjectFromCbos(ClientBusinessObject cbo,Object obj){ + public static void copyValueToObjectFromCbos(com.vci.client.bof.ClientBusinessObject cbo,Object obj){ if(cbo!=null){ copyValueToObjectFromBos(cbo.getBusinessObject(),obj); } @@ -1089,7 +1092,7 @@ * @param obj 瀵硅薄 * @param fieldAttrMap 灞炴�ф槧灏� */ - public static void copyValueToObjectFromCbos(ClientBusinessObject cbo,Object obj,Map<String,String> fieldAttrMap){ + public static void copyValueToObjectFromCbos(com.vci.client.bof.ClientBusinessObject cbo,Object obj,Map<String,String> fieldAttrMap){ if(cbo!=null){ copyValueToObjectFromBos(cbo.getBusinessObject(),obj,fieldAttrMap); } @@ -1141,7 +1144,7 @@ * @param bo 涓氬姟鏁版嵁 * @param obj 瀵硅薄 */ - public static void copyValueToObjectFromBos(BusinessObject bo ,Object obj){ + public static void copyValueToObjectFromBos(com.vci.corba.omd.data.BusinessObject bo ,Object obj){ copyValueToObjectFromBos(bo,obj,null); } @@ -1151,14 +1154,14 @@ * @param obj 瀵硅薄 * @param fieldAttrMap 灞炴�ф槧灏� */ - public static void copyValueToObjectFromBos(BusinessObject bo ,Object obj,Map<String,String> fieldAttrMap){ + public static void copyValueToObjectFromBos(com.vci.corba.omd.data.BusinessObject bo , Object obj, Map<String,String> fieldAttrMap){ if(bo!=null && obj != null){ //鍏堟妸鎵�鏈夌殑瀛楁鏄犲皠鎵惧埌 if(fieldAttrMap == null){ fieldAttrMap = getFieldNameMap(obj.getClass()); } - AttributeValue[] newAList = bo.newAttrValList; - AttributeValue[] hisAList = bo.hisAttrValList; + com.vci.corba.omd.data.AttributeValue[] newAList = bo.newAttrValList; + com.vci.corba.omd.data.AttributeValue[] hisAList = bo.hisAttrValList; //瑕佸厛鎶夿O瀵硅薄涓婄殑鍊兼嫹璐濊繃鍘� List<Field> boFields = getAllFieldForObj(bo.getClass()); @@ -1175,7 +1178,7 @@ } if(newAList!=null&&newAList.length>0){ for(int i = 0 ; i < newAList.length;i++){ - AttributeValue av = newAList[i]; + com.vci.corba.omd.data.AttributeValue av = newAList[i]; String attrName = av.attrName.toLowerCase(); if(fieldAttrMap.containsKey(attrName)) { String fieldName = fieldAttrMap.get(attrName); @@ -1193,7 +1196,7 @@ } if(hisAList!=null&&hisAList.length>0){ for(int i = 0 ; i < hisAList.length;i++){ - AttributeValue av = hisAList[i]; + com.vci.corba.omd.data.AttributeValue av = hisAList[i]; String attrName = av.attrName.toLowerCase(); String fieldName = fieldAttrMap.get(attrName); if(fieldName!=null){ @@ -1217,7 +1220,7 @@ * @param cbo 涓氬姟鏁版嵁 * @param map map */ - public static void copyValueToMapFromCbos(ClientBusinessObject cbo,Map<String,String> map){ + public static void copyValueToMapFromCbos(com.vci.client.bof.ClientBusinessObject cbo,Map<String,String> map){ if(cbo!=null){ copyValueToMapFromBos(cbo.getBusinessObject(),map); } @@ -1228,21 +1231,21 @@ * @param bo 涓氬姟鏁版嵁 * @param map map */ - public static void copyValueToMapFromBos(BusinessObject bo,Map<String,String> map){ + public static void copyValueToMapFromBos(com.vci.corba.omd.data.BusinessObject bo, Map<String,String> map){ if(bo!=null ){ //鍏堟妸鎵�鏈夌殑瀛楁鏄犲皠鎵惧埌 - AttributeValue[] newAList = bo.newAttrValList; - AttributeValue[] hisAList = bo.hisAttrValList; + com.vci.corba.omd.data.AttributeValue[] newAList = bo.newAttrValList; + com.vci.corba.omd.data.AttributeValue[] hisAList = bo.hisAttrValList; if(hisAList!=null&&hisAList.length>0){// for(int i = 0 ; i < hisAList.length;i++){ - AttributeValue av = hisAList[i]; + com.vci.corba.omd.data.AttributeValue av = hisAList[i]; String attrName = av.attrName.toLowerCase(); map.put(attrName, av.attrVal); } } if(newAList!=null&&newAList.length>0){//NEW鐨勪紭鍏堢骇楂樹簺 for(int i = 0 ; i < newAList.length;i++){ - AttributeValue av = newAList[i]; + com.vci.corba.omd.data.AttributeValue av = newAList[i]; String attrName = av.attrName.toLowerCase(); map.put(attrName, av.attrVal); } @@ -1255,7 +1258,7 @@ * @param clo 閾炬帴绫诲瀷 * @param map map */ - public static void copyValueToMapFromClos(ClientLinkObject clo,Map<String,String> map){ + public static void copyValueToMapFromClos(com.vci.client.bof.ClientLinkObject clo,Map<String,String> map){ if(clo!=null){ copyValueToMapFromLos(clo.getLinkObject(),map); } @@ -1266,24 +1269,24 @@ * @param lo 閾炬帴绫诲瀷 * @param map map */ - public static void copyValueToMapFromLos(LinkObject lo,Map<String,String> map){ + public static void copyValueToMapFromLos(com.vci.corba.omd.data.LinkObject lo,Map<String,String> map){ if(lo!=null){ WebLoServiceImpl.LO_BASE_FIELD_MAP.forEach((field,attr)->{ map.put(attr.toLowerCase(),getValueFromFieldForCbo(getFieldForObject(field,lo),lo)); }); //鍏堟妸鎵�鏈夌殑瀛楁鏄犲皠鎵惧埌 - AttributeValue[] newAList = lo.newAttrValList; - AttributeValue[] hisAList = lo.hisAttrValList; + com.vci.corba.omd.data.AttributeValue[] newAList = lo.newAttrValList; + com.vci.corba.omd.data.AttributeValue[] hisAList = lo.hisAttrValList; if(hisAList!=null&&hisAList.length>0){ for(int i = 0 ; i < hisAList.length;i++){ - AttributeValue av = hisAList[i]; + com.vci.corba.omd.data.AttributeValue av = hisAList[i]; String attrName = av.attrName.toLowerCase(); map.put(attrName, av.attrVal); } } if(newAList!=null&&newAList.length>0){ for(int i = 0 ; i < newAList.length;i++){ - AttributeValue av = newAList[i]; + com.vci.corba.omd.data.AttributeValue av = newAList[i]; String attrName = av.attrName.toLowerCase(); map.put(attrName, av.attrVal); } @@ -1350,7 +1353,7 @@ * @param cbo 閾炬帴绫诲瀷 * @param map 瀵硅薄 */ - public static void copyValueToCboFromMap(ClientBusinessObject cbo,Map<String,String> map) throws VciBaseException{ + public static void copyValueToCboFromMap(com.vci.client.bof.ClientBusinessObject cbo,Map<String,String> map) throws VciBaseException{ if(map!=null){ Iterator<String> it = map.keySet().iterator(); while(it.hasNext()){ @@ -1654,14 +1657,14 @@ * @param wrapperOptions 灏佽鐨勪俊鎭� * @return 鏍戝垪琛� */ - public static <T,R> List<Tree> cboList2Trees(List<? extends ClientBusinessObject> doList, TreeWrapperOptions wrapperOptions, Function<T,R> f){ + public static <T,R> List<Tree> cboList2Trees(List<? extends com.vci.client.bof.ClientBusinessObject> doList, TreeWrapperOptions wrapperOptions, Function<T,R> f){ if(CollectionUtils.isEmpty(doList)){ return new ArrayList<>(); } List<Tree> allTree = new ArrayList<Tree>(); List<Tree> children = new ArrayList<Tree>(); for (int i = 0 ; i < doList.size();i++) { - ClientBusinessObject cbo = doList.get(i); + com.vci.client.bof.ClientBusinessObject cbo = doList.get(i); Tree tree =new Tree(); List<String> oidFieldNames = VciBaseUtil.str2List(wrapperOptions.getOidFieldName()); List<String> oidValues = new LinkedList<>(); @@ -1723,4 +1726,24 @@ new Tree().findChild(allTree,children); return allTree; } + + public static com.vci.client.bof.ClientBusinessObject arryAndSqlToClientBusinessObject(String sqlStr,String[] valueArry) { + com.vci.client.bof.ClientBusinessObject clientBusinessObject = new com.vci.client.bof.ClientBusinessObject(); + try { + PlainSelect select = (PlainSelect) CCJSqlParserUtil.parse(sqlStr); + com.vci.corba.omd.data.AttributeValue[] attributeValues = new com.vci.corba.omd.data.AttributeValue[valueArry.length]; + for (int i = 0; i < select.getSelectItems().size(); i++) { + SelectItem selectItem = select.getSelectItem(i); + com.vci.corba.omd.data.AttributeValue attributeValue = new com.vci.corba.omd.data.AttributeValue(); + attributeValue.attrName = selectItem.getAlias().getName(); + attributeValue.attrVal = valueArry[i]; + attributeValues[i] = attributeValue; + } + clientBusinessObject.getBusinessObject().newAttrValList= attributeValues; + }catch (Exception e){ + logger.error("鏁版嵁瑙f瀽閿欒",e); + return null; + } + return clientBusinessObject; + } } -- Gitblit v1.9.3