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/WebBoServiceImpl.java |  140 ++++++++++++++++++++++------------------------
 1 files changed, 66 insertions(+), 74 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
similarity index 97%
rename from Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
rename to Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
index 4fab207..54d61ec 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -12,7 +12,6 @@
 import com.vci.corba.query.ObjectQueryServicePrx;
 import com.vci.corba.query.data.BtmRefQueryOption;
 import com.vci.corba.query.data.KV;
-import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
 import com.vci.omd.utils.ObjectTool;
 import com.vci.pagemodel.*;
 import com.vci.starter.web.annotation.Column;
@@ -21,12 +20,12 @@
 import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.pagemodel.DataGrid;
 import com.vci.starter.web.pagemodel.PageHelper;
-import com.vci.starter.web.util.BeanUtil;
+import com.vci.starter.web.util.BeanUtilForVCI;
+import com.vci.starter.web.util.Lcm.Func;
 import com.vci.starter.web.util.VciBaseUtil;
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.properties.WebProperties;
 import com.vci.web.service.*;
-import com.vci.web.util.Func;
 import com.vci.web.util.PlatformClientUtil;
 import com.vci.web.util.WebUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -34,10 +33,10 @@
 import org.dom4j.DocumentHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import javax.annotation.Resource;
 import java.lang.reflect.Field;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -48,76 +47,64 @@
  * @author weidy
  */
 @Service
-public class WebBoServiceImpl implements WebBoServiceI{
-	
-	/**
-	 * 鏋氫妇鏈嶅姟
-	 */
-	@Autowired
-	private OsEnumServiceI enumService;//鏋氫妇鏈嶅姟
-	
-	/**
-	 * 灞炴�ф湇鍔�
-	 */
-	@Autowired
-	private OsAttributeServiceI attrService;//灞炴�ф湇鍔�
+public class WebBoServiceImpl implements WebBoServiceI {
 
-	/**
-	 * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
-	 */
-	@Autowired
-	private OsLifeCycleServiceI lifeService;//鐢熷懡鍛ㄦ湡鏈嶅姟
-
-	/**
-	 * 鐘舵�佺殑鏈嶅姟
-	 */
-	@Autowired
-	private OsStatusServiceI statusService;
-
-	/**
-	 * 鐢ㄦ埛鏌ヨ鏈嶅姟
-	 */
-	@Autowired
-	private SmUserQueryServiceI userQueryService;
-
-	/**
-	 * 閾炬帴绫诲瀷鏈嶅姟
-	 */
-	@Autowired
-	private WebLoServiceI loService;
-
-	/**
-	 * 閰嶇疆淇℃伅
-	 */
-	@Autowired
-	private WebProperties webProperties;
-	
-	/**
-	 * 澶氳瑷�鍓嶇紑
-	 */
-	private final String msgCodePrefix = "com.vci.web.boService.";
-	
 	/**
 	 * 鏃ュ織瀵硅薄
 	 */
 	private Logger logger = LoggerFactory.getLogger(getClass());
 
 	/**
+	 * 澶氳瑷�鍓嶇紑
+	 */
+	private final String msgCodePrefix = "com.vci.web.boService.";
+
+	/**
+	 * 鏋氫妇鏈嶅姟
+	 */
+	@Resource
+	private WebEnumServiceI enumService;//鏋氫妇鏈嶅姟
+
+	/**
+	 * 鐢熷懡鍛ㄦ湡鐨勬湇鍔�
+	 */
+	@Resource
+	private WebLifeCycleServiceI lifeService;//鐢熷懡鍛ㄦ湡鏈嶅姟
+
+	/**
+	 * 鐘舵�佺殑鏈嶅姟
+	 */
+	@Resource
+	private WebStatusServiceI statusService;
+
+	/**
+	 * 鐢ㄦ埛鏌ヨ鏈嶅姟
+	 */
+	@Resource
+	private SmUserQueryServiceI userQueryService;
+
+	/**
+	 * 閰嶇疆淇℃伅
+	 */
+	@Resource
+	private WebProperties webProperties;
+
+	/**
 	 * 涓氬姟绫诲瀷鐨勬湇鍔�
 	 */
-	@Autowired
-	private OsBtmServiceI btmService;
+	@Resource
+	private WebBtmServiceI btmService;
 
 	/**
 	 * 鐗堟湰瑙勫垯鐨勬湇鍔�
 	 */
-	@Autowired
-	private OsRevisionRuleServiceI revisionRuleService;
+	@Resource
+	private WebRevisionRuleServiceI revisionRuleService;
 
 	/**
 	 * 骞冲彴璋冪敤瀹㈡埛绔�
 	 */
-	@Autowired
+	@Resource
 	private PlatformClientUtil platformClientUtil;
 
 	/**
@@ -893,7 +880,7 @@
 	 */
 	@Override
 	public List<BusinessObject> queryCBOByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap)
+			Map<String, String> conditionMap, Map<String, Object> replaceMap)
 			throws VciBaseException {
 		PageHelper ph = new PageHelper(-1);
 		return queryCBOByScheme(queryScheme,conditionMap,replaceMap,ph);
@@ -911,7 +898,7 @@
 	 */
 	@Override
 	public List<BusinessObject> queryCBOByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap,
+			Map<String, String> conditionMap, Map<String, Object> replaceMap,
 			PageHelper ph) throws VciBaseException {
 		List<String> clauseList = new ArrayList<String>();
 		clauseList.add("*");
@@ -926,7 +913,7 @@
 	 * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public QueryTemplate getQtByName(String name, Map<String, String> replaceMap) throws VciBaseException{
+	public QueryTemplate getQtByName(String name, Map<String, Object> replaceMap) throws VciBaseException{
 		QueryTemplate qt = null;
 		try{
 			VciBaseUtil.alertNotNull(name,"鏌ヨ妯℃澘鐨勫悕绉�");
@@ -935,9 +922,10 @@
 			//鍥犱负涔嬪墠骞冲彴鐨凾ool.replaceQTValues 娌℃湁澶勭悊 ${xxx}銆傦紝 涓轰簡蹇界暐澶у皬鍐欙紝鎴戜滑杩欓噷鍗曠嫭澶勭悊 weidy@2021-3-10
 			//鎴戜滑杞崲涓哄皬鍐�
 			Condition condition = qt.getCondition();
-			Map<String,String> replaceLowMap = new HashMap<>();
+			Map<String,Object> replaceLowMap = new HashMap<>();
 			if(condition !=null && condition.getCIMap()!=null){
 				// Map<String, String> systemVarValueMap = VciSystemVarConstants.getSystemVarValueMap();
+				//杞皬鍐�
 				if(!CollectionUtils.isEmpty(replaceMap)){
 					replaceMap.forEach((key,value)->{
 						replaceLowMap.put(key.toLowerCase(),value);
@@ -985,7 +973,7 @@
 	 * @param qt
 	 * @param replaceLowMap
 	 */
-	private void recurReplaceCiMap(QueryTemplate qt, Map<String,String> replaceLowMap){
+	private void recurReplaceCiMap(QueryTemplate qt, Map<String,Object> replaceLowMap){
 		//璺冲嚭閫掑綊
 		if(Func.isEmpty(qt)){
 			return;
@@ -1009,7 +997,7 @@
 							}
 						}
 					}else if(replaceLowMap.containsKey(value.toLowerCase())){
-						lInfo.getValue().setOrdinaryValue(replaceLowMap.get(value.toLowerCase()));
+						lInfo.getValue().setOrdinaryValue((String) replaceLowMap.get(value.toLowerCase()));
 					}
 				}else {
 					recurReplaceCiMap(lInfo.getValue().getQueryTemplate(),replaceLowMap);
@@ -1030,7 +1018,7 @@
 	 */
 	@Override
 	public List<BusinessObject> queryCBOByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap,
+			Map<String, String> conditionMap, Map<String, Object> replaceMap,
 			PageHelper ph, List<String> clauseList) throws VciBaseException {
 		QueryTemplate qt = getQtByName(queryScheme,replaceMap);
 		return baseQueryCBO(qt,conditionMap,ph,clauseList);
@@ -1134,7 +1122,7 @@
 	 */
 	@Override
 	public int queryCountByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap)
+			Map<String, String> conditionMap, Map<String, Object> replaceMap)
 			throws VciBaseException {
 		QueryTemplate qt = getQtByName(queryScheme,replaceMap);
 		return baseQueryCount(qt,conditionMap);
@@ -1482,7 +1470,7 @@
 	@Override
 	public <T> List<T> queryObjectByScheme(String queryScheme, Class<T> c,
 			Map<String, String> conditionMap, PageHelper ph,
-			Map<String, String> replaceMap) throws VciBaseException {
+			Map<String, Object> replaceMap) throws VciBaseException {
 		WebUtil.alertNotNull(queryScheme,"鏌ヨ鏂规");
 		//鐩存帴浠庡璞¢噷鍘绘煡璇笟鍔$被鍨嬬殑鍚嶇О
 		swapConditionMap(c,conditionMap);
@@ -2108,7 +2096,7 @@
      */
 	@Override
 	public DataGrid queryGridByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap)
+			Map<String, String> conditionMap, Map<String, Object> replaceMap)
 			throws VciBaseException {
 		return queryGridByScheme(queryScheme,conditionMap,replaceMap,new PageHelper(-1,true),null);
 	}
@@ -2124,7 +2112,7 @@
      */
 	@Override
 	public DataGrid queryGridByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap,
+			Map<String, String> conditionMap, Map<String, Object> replaceMap,
 			PageHelper ph) throws VciBaseException {
 		return queryGridByScheme(queryScheme,conditionMap,replaceMap,ph,null);
 	}
@@ -2141,7 +2129,7 @@
      */
 	@Override
 	public DataGrid queryGridByScheme(String queryScheme,
-			Map<String, String> conditionMap, Map<String, String> replaceMap,
+			Map<String, String> conditionMap, Map<String, Object> replaceMap,
 			PageHelper ph, List<String> clauseList) throws VciBaseException {
 		if(ph == null){
 			ph = new PageHelper(-1,true);
@@ -2212,7 +2200,7 @@
      */
 	@Override
 	public DataGrid queryGridClassByScheme(String queryScheme, Class c,
-			Map<String, String> conditionMap,Map<String,String> replaceMap) throws VciBaseException {
+			Map<String, String> conditionMap,Map<String,Object> replaceMap) throws VciBaseException {
 		return queryGridClassByScheme(queryScheme,c,conditionMap,replaceMap,new PageHelper(-1,true));
 	}
 	
@@ -2227,7 +2215,7 @@
      */
 	@Override
 	public DataGrid queryGridClassByScheme(String queryScheme, Class c,
-			Map<String, String> conditionMap, Map<String,String> replaceMap,PageHelper ph)
+			Map<String, String> conditionMap, Map<String,Object> replaceMap,PageHelper ph)
 			throws VciBaseException {
 		if(ph == null){
 			ph = new PageHelper(-1,true);
@@ -2272,9 +2260,13 @@
 	public Map cbo2Map(BusinessObject cbo) throws VciBaseException {
 		Map<String,String> map = new HashMap<String, String>();
 		WebUtil.copyValueToMapFromCbos(cbo, map);
-		return map;
+		//TODO锛�20241128 杩囨护鎺夌┖key鍜岀┖value
+		Map<String, Object> filteredCbo2Map = 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 filteredCbo2Map;
 	}
-
 
     /**
      * map杞负BusinessObject
@@ -2525,7 +2517,7 @@
 	@Override
 	public <T> int countByQueryWrapper(VciQueryWrapperForDO queryWrapper, Class<T> doClass) throws VciBaseException {
 		VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(null,doClass);
-		BeanUtil.convert(queryWrapper,queryWrapperForDO);
+		BeanUtilForVCI.convert(queryWrapper,queryWrapperForDO);
 		queryWrapperForDO.clearPage();
 		queryWrapperForDO.wrapperSql();
 		String sql= queryWrapperForDO.getSelectFieldSql() + " from " + queryWrapperForDO.getTableName() + " " + queryWrapperForDO.getTableNick() + queryWrapperForDO.getLinkTableSql() ;

--
Gitblit v1.9.3