From d0ae279ff3b83358d1c07f4481a041c4ad335026 Mon Sep 17 00:00:00 2001 From: dangsn <dangsn@chicecm.com> Date: 星期二, 03 十二月 2024 11:57:38 +0800 Subject: [PATCH] 提取业务系统使用的功能,独立出一个单独的模块 --- Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java | 103 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 67 insertions(+), 36 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java similarity index 91% rename from Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java rename to Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java index 59d7a9f..1b62ddc 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java @@ -12,6 +12,7 @@ import com.vci.corba.query.ObjectQueryService; import com.vci.corba.query.data.BOAndLO; import com.vci.omd.utils.ObjectTool; +import com.vci.query.UILinkTypeDataQuery; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; @@ -19,7 +20,6 @@ import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.util.VciDateUtil; import com.vci.web.properties.WebProperties; -import com.vci.web.query.UILinkTypeDataQuery; import com.vci.web.service.WebBoServiceI; import com.vci.web.service.WebLoServiceI; import com.vci.web.util.PlatformClientUtil; @@ -42,21 +42,22 @@ */ @Service public class WebLoServiceImpl implements WebLoServiceI { + /** + * 鏃ュ織瀵硅薄 + */ + private Logger logger = LoggerFactory.getLogger(getClass()); /** * 澶氳瑷�鍓嶇紑 */ private final String msgCodePrefix = "com.vci.web.loService."; - /** - * 鏃ュ織瀵硅薄 - */ - private Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired private WebBoServiceI boService; + /** + * + */ @Autowired private WebProperties webProperties; @@ -75,24 +76,17 @@ LO_BASE_FIELD_MAP.put("oid","oid"); LO_BASE_FIELD_MAP.put("creator","creator"); LO_BASE_FIELD_MAP.put("createTime","createTime"); - //LO_BASE_FIELD_MAP.put("lastModifier","lastModifier"); - //LO_BASE_FIELD_MAP.put("lastModifyTime","lastModifyTime"); LO_BASE_FIELD_MAP.put("modifier","lastModifier"); LO_BASE_FIELD_MAP.put("modifyTime","lastModifyTime"); LO_BASE_FIELD_MAP.put("fromOid","f_oid"); - //LO_BASE_FIELD_MAP.put("fromRevisionOid","f_revisionoid"); LO_BASE_FIELD_MAP.put("fromRevOid","f_revisionoid"); LO_BASE_FIELD_MAP.put("fromNameOid","f_nameoid"); - //LO_BASE_FIELD_MAP.put("fromBTMName","f_btwname"); LO_BASE_FIELD_MAP.put("fromBTName","f_btwname"); - //LO_BASE_FIELD_MAP.put("toRevisionOid","t_revisionoid"); LO_BASE_FIELD_MAP.put("toRevOid","t_revisionoid"); LO_BASE_FIELD_MAP.put("toNameOid","t_nameoid"); - //LO_BASE_FIELD_MAP.put("toBTMName","t_btwname"); LO_BASE_FIELD_MAP.put("toBTName","t_btwname"); LO_BASE_FIELD_MAP.put("toOid","t_oid"); LO_BASE_FIELD_MAP.put("ts","ts"); - //LO_BASE_FIELD_MAP.put("linkTypeName","linkTypeName"); LO_BASE_FIELD_MAP.put("ltName","linkTypeName"); } @@ -170,7 +164,7 @@ String[] sort = ph.getSort().split(","); String[] order = ph.getOrder().split(","); if(sort.length != order.length){ - throw new VciBaseException(msgCodePrefix + ".sortlengtherror",new Object[]{sort.length,order.length}); + throw new VciBaseException(msgCodePrefix + "sortLengthError",new Object[]{sort.length,order.length}); } List<OrderInfo> orderInfoList = new ArrayList<OrderInfo>(); for(int i = 0 ; i < sort.length ;i++){ @@ -249,24 +243,12 @@ } return rtnOBJs; } - } catch (PLException e) { -// logger.error(e.error_code,e); -// throw WebUtil.getVciBaseException(e); + } catch (Exception e) { + logger.error("鏌ヨ杩炴帴绫诲瀷澶辫触锛�",e); + throw new VciBaseException("鏌ヨ閾炬帴绫诲瀷澶辫触锛�", new Object[]{}, e); } return rtnOBJs; } -// -// @Override -// public Map<String, BusinessObject> queryLinkedCbo(LinkObject[] lo, -// boolean isDirection) throws VciBaseException { -// LinkObject[] clos = new LinkObject[lo.length]; -// for(int i =0 ; i < lo.length; i ++){ -// LinkObject clo = new LinkObject(); -// clo = lo[i]; -// clos[i] = clo; -// } -// return queryLinkedCbo(clos,isDirection); -// } @Override public Map<String, BusinessObject> queryLinkedCbo(List los, @@ -367,7 +349,12 @@ public Map clo2Map(LinkObject clo) throws VciBaseException { Map<String,String> map = new HashMap<String, String>(); WebUtil.copyValueToMapFromClos(clo, map); - return map; + //TODO:20241128 杩囨护鎺夌┖key鍜岀┖value + Map<String, Object> filteredClo2Map = map.entrySet() + .stream() + .filter(entry -> entry.getKey() != null && !entry.getKey().isEmpty() && entry.getValue() != null && !entry.getValue().toString().isEmpty()) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + return filteredClo2Map; } @Override @@ -452,7 +439,7 @@ WebUtil.alertNotNull(loName,"閾炬帴"); return null; //todo 鍦ㄥ钩鍙伴噷闈㈤渶瑕佷紶鍏ュ璞★紝鐜板湪鏄瓧绗︿覆锛岄渶瑕佺湅骞冲彴濡備綍澶勭悊 -// return loOperation.createLinkObject(loName,WebUtil.getCurrentUserId()); + //return loOperation.createLinkObject(loName,WebUtil.getCurrentUserId()); } /** @@ -523,7 +510,7 @@ * @return 閾炬帴绫诲瀷鍜屽叧鑱旂殑to绔� */ @Override - public List<com.vci.corba.query.data.BOAndLO> queryCLOAndBOBySchema(UILinkTypeDataQuery linkTypeDataQuery) { + public List<BOAndLO> queryCLOAndBOBySchema(UILinkTypeDataQuery linkTypeDataQuery) { VciBaseUtil.alertNotNull(linkTypeDataQuery,"閾炬帴绫诲瀷鏌ヨ瀵硅薄",linkTypeDataQuery.getQueryTemplateName(),"鏌ヨ妯℃澘鐨勫悕绉�"); QueryTemplate qt =boService.getQtByName(linkTypeDataQuery.getQueryTemplateName(),linkTypeDataQuery.getReplaceMap()); return queryCLOAndBOByQueryTemplate(qt,linkTypeDataQuery); @@ -535,7 +522,7 @@ * @param linkTypeDataQuery 閾炬帴绫诲瀷鐨勬煡璇㈠璞� * @return 閾炬帴绫诲瀷鍜屼笟鍔$被鍨� */ - private List<com.vci.corba.query.data.BOAndLO> queryCLOAndBOByQueryTemplate(QueryTemplate qt,UILinkTypeDataQuery linkTypeDataQuery){ + private List<BOAndLO> queryCLOAndBOByQueryTemplate(QueryTemplate qt,UILinkTypeDataQuery linkTypeDataQuery){ if(StringUtils.isNotBlank(linkTypeDataQuery.getToBtmType()) && StringUtils.isBlank(qt.getBtmType())) { qt.setBtmType(linkTypeDataQuery.getToBtmType()); } @@ -583,7 +570,7 @@ } boService.setPageAndOrderToQT(qt,linkTypeDataQuery.getPageHelper()); try { - com.vci.corba.query.data.BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid()); + BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid()); return Arrays.stream(bos).collect(Collectors.toList()); } catch (PLException e) { // logger.error(e.error_code,e); @@ -597,7 +584,7 @@ * @return 閾炬帴瀵硅薄鍜宼o绔笟鍔″璞� */ @Override - public List<com.vci.corba.query.data.BOAndLO> queryCLOAndBoByLinkType(UILinkTypeDataQuery linkTypeDataQuery){ + public List<BOAndLO> queryCLOAndBoByLinkType(UILinkTypeDataQuery linkTypeDataQuery){ VciBaseUtil.alertNotNull(linkTypeDataQuery,"閾炬帴绫诲瀷鏌ヨ瀵硅薄",linkTypeDataQuery.getLinkType(),"閾炬帴绫诲瀷鐨勫悕绉�"); QueryTemplate qt = null; if(StringUtils.isBlank(linkTypeDataQuery.getQueryTemplateName())){ @@ -826,4 +813,48 @@ } } + /** + * 閾炬帴绫诲瀷 + * + * @param clo 閾炬帴绫诲瀷 + * @param attributeName 灞炴�у悕绉� + * @param attributeValue 灞炴�х殑鍊� + */ + @Override + public void setAttribute(LinkObject clo, String attributeName, String attributeValue) { + AttributeValue[] attrValues = clo.newAttrValList; + ArrayList<AttributeValue> attrValList = new ArrayList(); + AttributeValue attrVal; + int i; + if (attrValues != null && attrValues.length > 0) { + 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 = attrValList.get(i); + if (attrVal.attrName.toUpperCase().equals(attributeName.toUpperCase())) { + attrVal.attrVal = attributeValue; + isExist = true; + break; + } + } + + if (!isExist) { + attrVal = new AttributeValue(); + attrVal.attrName = attributeName.toUpperCase(); + attrVal.attrVal = attributeValue; + attrValList.add(attrVal); + } + + clo.newAttrValList = attrValList.toArray(new AttributeValue[attrValList.size()]); + } } -- Gitblit v1.9.3