From d8f51c40544ae278095e991ed00ec297842d4332 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期日, 29 九月 2024 11:01:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java |  119 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 61 insertions(+), 58 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
index d03683d..2e90fe6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -3,51 +3,38 @@
 
 import com.alibaba.cloud.commons.lang.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
-import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO;
 import com.vci.ubcs.code.dto.CodeReferConfigDTO;
 import com.vci.ubcs.code.entity.*;
 import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
-import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper;
-import com.vci.ubcs.code.service.CodeReferConfigService;
-import com.vci.ubcs.code.service.CodeShowFieldConfigService;
-import com.vci.ubcs.code.service.CodeSrchCondConfigService;
+import com.vci.ubcs.code.service.ICodeReferConfigService;
+import com.vci.ubcs.code.service.ICodeShowFieldConfigService;
+import com.vci.ubcs.code.service.ICodeSrchCondConfigService;
 import com.vci.ubcs.code.vo.CodeReferConfigVO;
-import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper;
 import com.vci.ubcs.code.wrapper.CodeReferConfigWraper;
-import com.vci.ubcs.code.wrapper.CodeShowFieldConfigWraper;
-import com.vci.ubcs.code.wrapper.CodeSrchCondConfigWraper;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
-import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
-import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
-import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.system.cache.NacosConfigCache;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.cglib.beans.BeanMap;
 import org.springframework.stereotype.Service;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.TS_NOT_PROCESS;
 
@@ -58,16 +45,16 @@
  * @since 2023-05-19 17:48:02
  */
 @Service("CodeReferconfigService")
-public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
+public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements ICodeReferConfigService {
 
     @Resource
     private CodeReferConfigMapper codeReferconfigMapper;
 
 	@Resource
-	private CodeShowFieldConfigService codeShowFieldConfigService;
+	private ICodeShowFieldConfigService ICodeShowFieldConfigService;
 
 	@Resource
-	private CodeSrchCondConfigService codeSrchCondConfigService;
+	private ICodeSrchCondConfigService ICodeSrchCondConfigService;
 
     /**
      * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
@@ -81,12 +68,22 @@
 		return CodeReferConfigWraper.build().entityVO(codeReferConfig);
     }
 
+	/**
+	 * 鍒嗛〉鏌ヨ
+	 *
+	 * @param bladeQueryObject 绛涢�夋潯浠�
+	 * @return 鏌ヨ缁撴灉
+	 */
 	@Override
 	public IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject) {
 		CodeReferConfig codeReferConfig = new CodeReferConfig();
 		// 鏍规嵁绉熸埛杩涜鍖哄垎瀵瑰簲鐨勫弬鐓ч厤缃�
 		Map<String, Object> conditionMap = bladeQueryObject.getConditionMap();
-		conditionMap.put("tenantId",AuthUtil.getTenantId());
+		// 鏌ヨ鎵�灞炵鎴蜂笅鐨勫拰寮�鍚叏灞�鐨勫弬鐓ч厤缃俊鎭�
+		if(!NacosConfigCache.getAdminUserInfo().getTenantId().equals(AuthUtil.getTenantId())){
+			conditionMap.put("tenantId",AuthUtil.getTenantId());
+		}
+		conditionMap.put("isOpenGlobal","true");
 		BeanMap beanMap = BeanMap.create(codeReferConfig);
 		beanMap.putAll(conditionMap);
 		// 娣诲姞榛樿鎺掑簭瀛楁,鏍规嵁鏃堕棿杩涜鎺掑簭
@@ -96,16 +93,10 @@
 		return CodeReferConfigWraper.build().pageVO(codeReferConfigs);
 	}
 
-	/**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param codeReferConfigVO 绛涢�夋潯浠�
-     * @return 鏌ヨ缁撴灉
-     */
     @Override
     public List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO) {
 		codeReferConfigVO.setTenantId(AuthUtil.getTenantId());
-		//MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
+		//MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = UBCSCondition.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
 		MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = getMPJLambdaWrapper()
 			.setEntity(codeReferConfigVO)
 			.orderBy(true, true, CodeReferConfig::getCreateTime);
@@ -126,18 +117,25 @@
 		if (StringUtils.isBlank(codeReferConfigVO.getReferType())){
 			throw new VciBaseException("鍙傜収閰嶇疆涓嶈兘涓虹┖");
 		}
-		Long count = countCodeReferConfig(codeReferConfigVO);
-		if(count > 0){
-			throw new VciBaseException("宸插瓨鍦ㄧ浉鍚岀殑鍙傜収閰嶇疆");
-		}
-
-		CodeReferConfig CodeReferConfig = Objects.requireNonNull(BeanUtil.copy(codeReferConfigVO, CodeReferConfig.class));
-		boolean resInsertReferConfig = this.codeReferconfigMapper.insert(CodeReferConfig) > 0;
+		// Long count = countCodeReferConfig(codeReferConfigVO);
+		// if(count > 0){
+		//    throw new VciBaseException("宸插瓨鍦ㄧ浉鍚岀殑鍙傜収閰嶇疆");
+		// }
+		CodeReferConfig codeReferConfig = CodeReferConfigWraper.build().entityDO(codeReferConfigVO);
+		codeReferConfig.setOid(VciBaseUtil.getPk().toUpperCase());
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeReferConfig, MdmBtmTypeConstant.CODE_REFER_CONFIG);
+		codeReferConfig.setTenantId(AuthUtil.getTenantId());
+		boolean resInsertReferConfig = this.codeReferconfigMapper.insert(codeReferConfig) > 0;
 		if (!resInsertReferConfig) {
 			return R.fail("鏂板鍙傜収閰嶇疆澶辫触锛�");
 		}
-		codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
-		codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
+		// 涓婚敭鍥炲~
+		if(Func.isNotEmpty(codeReferConfig.getCodeShowFieldConfigs())){
+			ICodeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS(),codeReferConfig.getOid());
+		}
+		if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){
+			ICodeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS(),codeReferConfig.getOid());
+		}
 		return R.data(codeReferConfigVO);
     }
 
@@ -148,12 +146,17 @@
 	 */
 	private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) {
 		String templateName = codeReferConfigVO.getName();
-		if (StringUtils.isBlank(templateName)){
-			throw new VciBaseException("鍙傜収閰嶇疆鍚嶇О涓嶈兘涓虹┖");
+		String templateId = codeReferConfigVO.getId();
+		if (StringUtils.isBlank(templateName) && StringUtils.isBlank(templateId)){
+			throw new VciBaseException("鍙傜収閰嶇疆缂栧彿鍜屽悕绉颁笉鑳戒负绌�");
 		}
 		LambdaQueryWrapper<CodeReferConfig> wrapper = Wrappers.<CodeReferConfig>query()
 			.lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId())
-			.eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId());
+			.eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId())
+			.or(true)
+			.eq(CodeReferConfig::getIsOpenGlobal,"true") // 鏌ヨ寮�鍚叏灞�鐨勫弬鐓ч厤缃�
+			.eq(CodeReferConfig::getId,templateId)
+			.eq(CodeReferConfig::getName,templateName);
 		Long count = codeReferconfigMapper.selectCount(wrapper);
 		return count;
 	}
@@ -165,18 +168,18 @@
 	private MPJLambdaWrapper<CodeReferConfig> getMPJLambdaWrapper(){
 		MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeReferConfig.class)
 			.selectAll(CodeReferConfig.class)
-			//			.select(CodeShowFieldConfig::getField
-//				,CodeShowFieldConfig::getTitle
-//				,CodeShowFieldConfig::getFieldType
-//				,CodeShowFieldConfig::getSort
-//				,CodeShowFieldConfig::getAttrSortField
-//				,CodeShowFieldConfig::getWidth
-//				,CodeShowFieldConfig::getFixedPosition
-//				,CodeShowFieldConfig::getTemplet)
-//			.select(
-//				CodeSrchCondConfig::getFilterType,
-//				CodeSrchCondConfig::getFilterField,
-//				CodeSrchCondConfig::getFilterValue)
+			// .select(CodeShowFieldConfig::getField
+			// ,CodeShowFieldConfig::getTitle
+			// ,CodeShowFieldConfig::getFieldType
+			// ,CodeShowFieldConfig::getSort
+			// ,CodeShowFieldConfig::getAttrSortField
+			// ,CodeShowFieldConfig::getWidth
+			// ,CodeShowFieldConfig::getFixedPosition
+			// ,CodeShowFieldConfig::getTemplet)
+			// .select(
+			// CodeSrchCondConfig::getFilterType,
+			// CodeSrchCondConfig::getFilterField,
+			// CodeSrchCondConfig::getFilterValue)
 			.selectCollection(CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
 			.selectCollection(CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
 			.leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
@@ -197,8 +200,8 @@
 		if (!resUpdateReferConfig) {
 			return R.fail("鍙傜収閰嶇疆淇敼澶辫触锛�");
 		}
-		this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
-		this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
+		this.ICodeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
+		this.ICodeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
         return R.data(codeReferConfigVO);
     }
 
@@ -222,8 +225,8 @@
 		if (!resDeleteReferConfig) {
 			return R.fail("鍙傜収閰嶇疆鍒犻櫎澶辫触锛�");
 		}
-		this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
-		this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
+		this.ICodeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
+		this.ICodeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
         return  R.status(resDeleteReferConfig);
     }
 

--
Gitblit v1.9.3