From 6138318ebe15d251d6ae6e3e1ec57c8af94216d7 Mon Sep 17 00:00:00 2001
From: ludc <pUXmgxCf6A>
Date: 星期四, 18 五月 2023 10:53:27 +0800
Subject: [PATCH] 以及发布webservice接口功能搭建,将通通用接口移植过来

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |  178 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 99 insertions(+), 79 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index e63b287..f631260 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1,60 +1,34 @@
-//package com.vci.ubcs.code.service.impl;
+package com.vci.ubcs.code.service.impl;
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
+import com.vci.ubcs.code.entity.CodeAllCode;
+import com.vci.ubcs.code.mapper.CodeAllCodeMapper;
+import com.vci.ubcs.code.service.*;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 //
-//import com.alibaba.fastjson.JSONObject;
-//import com.alibaba.nacos.common.utils.StringUtils;
-//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-//import com.baomidou.mybatisplus.extension.service.IService;
-//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-//import com.sun.corba.se.impl.orbutil.ObjectUtility;
-//import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
-//import com.vci.ubcs.code.dto.CodeOrderDTO;
-//import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
-//import com.vci.ubcs.code.entity.CodeAllCode;
-//import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity;
-//import com.vci.ubcs.code.entity.CodeRule;
-//import com.vci.ubcs.code.entity.CodeWupinEntity;
-//import com.vci.ubcs.code.enumpack.CodeDefaultLC;
-//import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
-//import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
-//import com.vci.ubcs.code.mapper.CodeAllCodeMapper;
-//import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper;
-//import com.vci.ubcs.code.mapper.CodeRuleMapper;
-//import com.vci.ubcs.code.service.*;
-//import com.vci.ubcs.code.vo.CodeClstemplateVO;
-//import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO;
-//import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
-//import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
-//import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
-//import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
-//import com.vci.ubcs.omd.entity.Dict;
-//import com.vci.ubcs.starter.exception.VciBaseException;
-//import com.vci.ubcs.starter.revision.model.BaseModel;
-//import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
-//import com.vci.ubcs.starter.web.pagemodel.KeyValue;
-//import com.vci.ubcs.starter.web.toolmodel.DateConverter;
-//import com.vci.ubcs.starter.web.util.VciBaseUtil;
-//import com.vci.ubcs.starter.web.util.VciDateUtil;
-//import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO;
-//import com.vci.ubcs.starter.web.util.WebUtil;
-//import com.vci.ubcs.system.entity.DictBiz;
-//import com.vci.ubcs.system.feign.IDictBizClient;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springblade.core.mp.support.Query;
-//import org.springblade.core.secure.utils.AuthUtil;
-//import org.springblade.core.tool.api.R;
-//import org.springframework.beans.BeanUtils;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//
-///**
-// * 涓绘暟鎹紩鎿庢湇鍔�
-// *
-// * @author weidy
-// * @date 2022-2-22
-// */
-//@Service
-//public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService {
+
+
+/**
+ * 涓绘暟鎹紩鎿庢湇鍔�
+ *
+ * @author weidy
+ * @date 2022-2-22
+ */
+@Slf4j
+@Service
+public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService {
 //
 //
 //	/**
@@ -76,29 +50,75 @@
 //	//	@Autowired
 //	//	private CodeOsbtmtypeMapper codeOsbtmtypeMapper;
 //
-//	/**
-//	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栧彲浠ヤ娇鐢ㄧ殑妯℃澘瀵硅薄
-//	 *
-//	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
-//	 * @return 妯℃澘鐨勬樉绀哄璞�
-//	 */
-//	@Override
-//	public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) {
-//		return getUsedTemplateByClassifyOid(codeClassifyOid, true);
-//	}
+	/**
+	 * 妯℃澘鐨勬湇鍔�
+	 */
+	@Autowired(required = false)
+	private ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService;
+
+	/***
+	 * 缂栫爜瑙勫垯鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private ICodeRuleService codeRuleService;
+	/**
+	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栧彲浠ヤ娇鐢ㄧ殑妯℃澘瀵硅薄
+	 *
+	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+	 * @return 妯℃澘鐨勬樉绀哄璞�
+	 */
+	@Override
+	public CodeClassifyTemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) {
+		return getUsedTemplateByClassifyOid(codeClassifyOid, true);
+	}
 //
-//	/**
-//	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栧彲浠ヤ娇鐢ㄧ殑妯℃澘瀵硅薄
-//	 *
-//	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
-//	 * @param hasAttr         鍖呭惈灞炴��
-//	 * @return 妯℃澘鐨勬樉绀哄璞�
-//	 */
-//	@Override
-//	public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) {
-//		List<CodeClstemplateVO> templateVOs = templateService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr);
-//		return templateVOs.get(templateVOs.size() - 1);
-//	}
+	/**
+	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栧彲浠ヤ娇鐢ㄧ殑妯℃澘瀵硅薄
+	 *
+	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+	 * @param hasAttr         鍖呭惈灞炴��
+	 * @return 妯℃澘鐨勬樉绀哄璞�
+	 */
+	@Override
+	public CodeClassifyTemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) {
+		List<CodeClassifyTemplateVO> templateVOs=new ArrayList<>();
+		//templateVOs = codeClassifyTemplateAttrService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr);
+		return templateVOs.get(templateVOs.size() - 1);
+	}
+
+
+	/**
+	 * 浣跨敤鍒嗙被鐨勫叏閮ㄤ俊鎭幏鍙栫紪鐮佽鍒�
+	 *
+	 * @param fullInfoBO 鍒嗙被鐨勫叏閮ㄤ俊鎭�
+	 * @return 瑙勫垯鐨勫唴瀹�
+	 */
+	@Override
+	public CodeRuleVO getCodeRuleByClassifyFullInfo(CodeClassifyFullInfoBO fullInfoBO) {
+		//寰�涓婃壘
+		String codeRuleOid = "";
+		if (StringUtils.isNotBlank(fullInfoBO.getCurrentClassifyVO().getCoderuleoid())) {
+			codeRuleOid = fullInfoBO.getCurrentClassifyVO().getCoderuleoid();
+		} else {
+			if (CollectionUtils.isEmpty(fullInfoBO.getParentClassifyVOs())) {
+				//璇存槑宸茬粡鏄渶楂樺眰绾�,
+				throw new VciBaseException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
+			}
+			List<CodeClassifyVO> parentClassifyVOList = fullInfoBO.getParentClassifyVOs().stream().sorted((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel())).collect(Collectors.toList());
+			//浠庢渶楂樼殑level寮�濮嬭幏鍙�
+			for (int i = 0; i < parentClassifyVOList.size(); i++) {
+				CodeClassifyVO record = parentClassifyVOList.get(i);
+				if (StringUtils.isNotBlank(record.getCoderuleoid())) {
+					codeRuleOid = record.getCoderuleoid();
+					break;
+				}
+			}
+			if (StringUtils.isBlank(codeRuleOid)) {
+				throw new VciBaseException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
+			}
+		}
+		return codeRuleService.getObjectHasSecByOid(codeRuleOid);
+	}
 //
 //	/**
 //	 * 鑾峰彇鏋氫妇鐨勪笅鎷夐�夐」
@@ -1788,4 +1808,4 @@
 ////		batchSaveSelectChar(templateVO, cboList);
 ////	}
 //
-//}
+}

--
Gitblit v1.9.3