From 29ab7773efe351a879ce9b3c29ab3ca50f4e62cb Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期三, 15 一月 2025 21:36:08 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java |  168 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 155 insertions(+), 13 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index 78843da..60c8ec7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -1,23 +1,26 @@
 package com.vci.ubcs.code.service;
 
 
-import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.code.applyjtcodeservice.vo.BaseModelVO;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
+import com.vci.ubcs.code.dto.CodeBZApplyDTO;
 import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
 import com.vci.ubcs.code.dto.CodeOrderDTO;
 import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
-import com.vci.ubcs.code.entity.CodeWupin;
+import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
+import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.BaseModel;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.*;
+import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO;
 import org.springblade.core.tool.api.R;
 
-import java.beans.IntrospectionException;
-import java.lang.reflect.InvocationTargetException;
-import java.sql.SQLException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -27,7 +30,7 @@
  * @author weidy
  * @date 2022-2-21
  */
-public interface MdmEngineService extends IService<CodeWupin> {
+public interface MdmEngineService {
 	/**
 	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栧彲浠ヤ娇鐢ㄧ殑妯℃澘瀵硅薄
 	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
@@ -62,6 +65,13 @@
 	 * @return 杩斿洖缂栫爜鐨勫唴瀹�
 	 */
 	String addSaveCode(CodeOrderDTO orderDTO) throws Exception;
+	/**
+	 * 鐢宠鍗曚竴缂栫爜
+	 * @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭
+	 * @param  authUser 鏄惁妯℃嫙鐧诲綍锛宼rue锛屼笉妯℃嫙锛宖alse鏄ā鎷�
+	 * @return 杩斿洖缂栫爜鐨勫唴瀹�
+	 */
+	String addSaveCodeNotauthUser(CodeOrderDTO orderDTO, boolean authUser) throws Exception;
 
 	/**
 	 * 鍒ゆ柇缂栫爜鐨勭爜娈垫槸鍚﹁緭鍏ユ垨鑰呴�夋嫨浜嗙爜鍊�
@@ -75,6 +85,7 @@
 	 *
 	 * @param value        褰撳墠鐨勫��
 	 * @param keyRuleVO    鍏抽敭灞炴�х殑鎺у埗瑙勫垯锛屽彲浠ヤ负绌�
+	 * @param codeSynonymMaps 杩戜箟璇嶆煡璇㈣鍒�
 	 * @param attrId       灞炴�х殑缂栧彿
 	 * @param trim         鏄惁鍘婚櫎绌烘牸
 	 * @param ignoreCase   鏄惁涓嶅尯鍒嗗ぇ灏忓啓
@@ -82,9 +93,17 @@
 	 * @param trimAll      鏄惁蹇界暐鍏ㄩ儴绌烘牸
 	 * @param conditionMap 鏌ヨ鏉′欢
 	 */
-	void wrapperKeyAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, String attrId,
-							   boolean trim, boolean ignoreCase, boolean ignoreWidth,
-							   boolean trimAll, Map<String, String> conditionMap);
+	void wrapperKeyAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, List<CodeSynonym> codeSynonymMaps, String attrId,
+									boolean trim, boolean ignoreCase, boolean ignoreWidth,
+									boolean trimAll, Map<String, String> conditionMap);
+
+	/**
+	 * 杩戜箟璇嶆煡璇㈣鍒欒浆鎹�
+	 * @param codeSynonymMaps
+	 * @param value
+	 * @return
+	 */
+	String getValueToSynony(/*杩戜箟璇嶆煡璇㈣鍒�*/List<CodeSynonym> codeSynonymMaps,String value);
 
 	/**
 	 * 鍒濆鍖栦笟鍔$被鍨�
@@ -101,7 +120,14 @@
 	 * @param cboList    鏁版嵁鐨勫唴瀹�
 	 */
 	void batchSaveSelectChar(CodeClassifyTemplateVO templateVO, /*List<ClientBusinessObject> cboList*/
-							 List<String> cboList);
+							 List<BaseModel> cboList);
+
+	/**
+	 * 灏佽寮�鍏崇殑鍐呭锛屽父鐢ㄤ簬瀵煎嚭
+	 * @param dataMap 鏁版嵁鐨勫唴瀹�
+	 * @param templateVO 妯℃澘鐨勬樉绀�
+	 */
+	void wrapperBoolean(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO);
 
 	/**
 	 * 浣跨敤妯℃澘鐨勪富閿幏鍙栬〃鍗曠殑淇℃伅
@@ -151,6 +177,7 @@
 	 * @param conditionMap   鏌ヨ鏉′欢
 	 */
 	void wrapperResembleConditionMap(String value, CodeResembleRuleVO resembleRuleVO, String attrId, Map<String, String> conditionMap);
+
 	/**
 	 * 鑾峰彇浣跨敤鐨勭浉浼兼煡璇㈣鍒�
 	 *
@@ -227,7 +254,6 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	R batchUpdateCode(List<CodeOrderDTO> orderDTOList);
-
 
 	/**
 	 * 鏍囪娴佺▼涓笟鍔℃暟鎹槸鍚﹂�氳繃
@@ -371,13 +397,42 @@
 	MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId);
 
 	/**
+	 * 浣跨敤鍒嗙被涓婚敭锛屾ā鏉夸富閿紝闃舵鏍囪瘑锛屾祦绋嬫ā鏉縦ek鑾峰彇娴佺▼瀹℃壒涓〉闈㈢殑鍐呭锛屽寘鍚寜閽�
+	 *
+	 * @param codeClassifyOid 涓婚搴撳垎绫讳富閿�
+	 * @param functionId      鍔熻兘鐨勭紪鍙�,榛樿5
+	 * @return UI鐩稿叧鐨勫唴瀹�
+	 */
+	MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey);
+
+	/**
 	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鎻掑叆鎿嶄綔
 	 *
 	 * @param btmType 涓氬姟绫诲瀷
 	 * @param baseModels      澶勭悊鏁版嵁
 	 * @return 澶勭悊鎴愬姛鏁版嵁鏉℃暟
 	 */
-	Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception;
+	Integer insertBatchByType(String btmType, List<BaseModel> baseModels);
+
+	/**
+	 * 浼犲叆涓氬姟绫诲瀷浠ュ強ID鏌ヨ涓氬姟琛ㄦ暟鎹槸鍚﹂噸澶�
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param ids      澶勭悊鏁版嵁
+	 * @return 鏌ヨ鍒版暟鎹殑鎬绘暟
+	 */
+	Integer selectIdsCounts(String btmType, List<String> ids);
+
+	/**
+	 * 浼犲叆涓氬姟绫诲瀷浠ュ強ID銆丱ID鏌ヨ涓氬姟琛ㄦ暟鎹槸鍚﹂噸澶�
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param id      澶勭悊鏁版嵁id
+	 * @param oid      澶勭悊鏁版嵁oid
+	 * @return 鏌ヨ鍒版暟鎹殑鎬绘暟
+	 */
+	Integer selectIdAndOidCounts(String btmType, String id, String oid);
+
 	/**
 	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩竜id闆嗗悎鏌ヨ鏁版嵁杩涜杩斿洖
 	 *
@@ -385,5 +440,92 @@
 	 * @param oids      闇�瑕佹煡璇㈢殑oid闆嗗悎 閫楀彿鍒嗗紑
 	 * @return 鏌ヨ鍑虹殑鏁版嵁
 	 */
-	List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException;
+	List<BaseModel> selectByTypeAndOid(String btmType, String oids);
+
+	/**
+	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鏇存柊鎿嶄綔
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param baseModels      澶勭悊鏁版嵁
+	 * @return 澶勭悊鐘舵��
+	 */
+	R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels);
+
+	/**
+	 * 鏇存柊涓氬姟鏁版嵁鍚屾椂瀵圭爜鍊艰〃鏁版嵁鎿嶄綔鎺ュ彛
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @param baseModels      澶勭悊鏁版嵁
+	 * @return 澶勭悊鐘舵��
+	 */
+	R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels);
+
+	/**
+	 * 榛樿鍒楄〃
+	 * @param referConfigVO
+	 * @return
+	 */
+	IPage<BaseModelVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException;
+
+	/**
+	 * 鑾峰彇鏍戝舰鐨勫弬鐓�
+	 * @param referConfigVO 鍙傜収鐨勯厤缃�
+	 * @return 鏍戝舰鐨勬暟鎹�
+	 */
+	List<Tree> referTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject);
+
+	/**
+	 * 鏄惁涓轰慨鏀瑰拷鐣ョ殑灞炴��
+	 * @param attrName 灞炴�х殑鍚嶅瓧
+	 * @return true 琛ㄧず搴旇蹇界暐
+	 */
+	default boolean checkUnAttrUnEdit(String attrName){
+		return  (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
+			||"ts".equalsIgnoreCase(attrName)
+			|| "lastmodifier".equalsIgnoreCase(attrName)
+			|| "lastmodifytime".equalsIgnoreCase(attrName)
+			|| "createtime".equalsIgnoreCase(attrName)
+			|| "checkintime".equalsIgnoreCase(attrName)
+			||"checkouttime".equalsIgnoreCase(attrName));
+	}
+
+	/**
+	 * 娴佺▼涓彉鏇寸姸鎬佸��
+	 * @param flowDTO
+	 * @return
+	 */
+    R processChangeStatus(FlowStatusDTO flowDTO);
+
+	/**
+	 * 鏍¢獙鍏抽敭灞炴��
+	 * @param orderDTO         缂栫爜鐢宠鐨勭浉鍏崇殑淇℃伅
+	 */
+	List<Map>  checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ;
+
+	/**
+	 * 鏍规嵁褰撳墠鐢宠缂栫爜鐨勫垎绫伙紝閫愬眰寰�涓婃牎楠屾槸鍚︾鍚堝睘浜庨厤缃殑涓殑鍒嗙被瀛愯妭鐐圭殑鍒�
+	 * 绫伙紝濡傛灉绗﹀悎锛屽垯璇ュ垎绫荤敵璇风殑缂栫爜涓洪泦鍥㈢爜杩斿洖true锛屽弽涔嬪垯涓轰紒涓氱紪鐮佽繑鍥瀎alse
+	 * @param parameter 浼犲叆鏁版嵁,classifyGroupCode:閰嶇疆鐨勪腑鐨勫垎绫婚《鑺傜偣锛宱id锛氶�夋嫨鑺傜偣鐨刼id
+	 */
+	R checkGroupCode(Map<String, String> parameter);
+
+	/**
+	 * 鏍囧噯鐢宠鍜屼慨璁㈢敤
+	 * @param codeBZApplyDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭�
+	 * @return 鎵ц缁撴灉
+	 */
+	String addSaveBZ(CodeBZApplyDTO codeBZApplyDTO) throws Exception;
+	/**
+	 * 鏍囧噯鐢宠鍜屼慨璁㈢敤
+	 * @param codeBZApplyDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭�
+	 * @param authUser 鏄惁妯℃嫙鐧诲綍锛宼rue锛屼笉妯℃嫙锛宖alse鏄ā鎷�
+	 * @return 鎵ц缁撴灉
+	 */
+	String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception;
+	/**
+	 * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+	 * @param btmNames 涓氬姟绫诲瀷
+	 * @return 鏁版嵁闆�
+	 */
+	R getStatisticAnalysis(String btmNames);
 }

--
Gitblit v1.9.3