From 2bfad65f3f4ed0282f53e3ae01fc10c879a734bc Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 09 十一月 2023 10:03:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java                          |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java                 |    2 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java |    6 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java                          |    2 
 Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/ILogSystemService.java                      |   21 +++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                                   |   23 -----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java          |   22 ++--
 Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java                 |    1 
 Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/SystemLog.java                            |   19 ++++
 Source/UBCS/ubcs-ops/ubcs-log/pom.xml                                                                                 |    6 +
 Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java              |   56 ++++++++++++++
 Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue                                                     |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml                                        |    4 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java                  |    5 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java        |   25 +++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java       |    7 +
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java              |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java                     |    2 
 18 files changed, 159 insertions(+), 47 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
index 14c0691..2f380b6 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
@@ -339,7 +339,7 @@
   </el-dialog>
 </template>
 
-  <script>
+<script>
 export default {
   name: "formulaEditor",
   props: {
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/SystemLog.java b/Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/SystemLog.java
index 2452f3a..dc07d45 100644
--- a/Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/SystemLog.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/SystemLog.java
@@ -1,9 +1,18 @@
 package com.vci.ubcs.log.entity;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
 /**
  * @author ludc
  * @date 2023/10/31 15:43
  */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class SystemLog {
 
 	/**
@@ -31,4 +40,14 @@
 	 */
 	private String logType;
 
+	/**
+	 * 鏃ュ織鍒涘缓鏃堕棿
+	 */
+	private Date createTime;
+
+	/**
+	 * 鏃ュ織鐨勬渶鍚庝慨鏀规椂闂�
+	 */
+	private Date lastmodifier;
+
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-log/pom.xml b/Source/UBCS/ubcs-ops/ubcs-log/pom.xml
index 767979f..fe4d4a3 100644
--- a/Source/UBCS/ubcs-ops/ubcs-log/pom.xml
+++ b/Source/UBCS/ubcs-ops/ubcs-log/pom.xml
@@ -44,6 +44,12 @@
             <version>3.0.1.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-resource-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/ILogSystemService.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/ILogSystemService.java
index 1d4ed75..e713ec1 100644
--- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/ILogSystemService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/ILogSystemService.java
@@ -1,8 +1,13 @@
 package com.vci.ubcs.core.log.service;
 
 import com.vci.ubcs.log.entity.SystemLog;
+import com.vci.ubcs.resource.bo.FileObjectBO;
+import com.vci.ubcs.starter.exception.VciBaseException;
 
+import java.rmi.ServerException;
+import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鏈湴绯荤粺鏃ュ織
@@ -12,8 +17,22 @@
 public interface ILogSystemService {
 
 	/**
-	 * 鑾峰彇鏈湴鏃ュ織鍒楄〃
+	 * 鏌ョ湅锛屾湰鍦扮郴缁熸棩蹇楀垪琛�
 	 */
 	List<SystemLog> getSystemLogList();
 
+	/**
+	 * 涓嬭浇锛屾牴鎹湇鍔″悕鎵�鍦ㄦ枃浠跺悕鍜屾枃浠跺悕涓嬭浇鏂囦欢
+	 * @param condition 鏌ヨ鏉′欢map
+	 * @return 鏂囦欢鐨勪俊鎭�
+	 */
+	FileObjectBO downloadLogByServiceNameAndFileName(Map<String,String> condition) throws ServerException;
+
+	/**
+	 * 鍒犻櫎锛屾牴鎹湇鍔℃墍鍦ㄦ枃浠跺悕锛屽拰鏃ュ織鏂囦欢鍚嶇О鍒犻櫎
+	 * @param condition 涓婚敭闆嗗悎
+	 * @return 鎵ц缁撴灉
+	 */
+	void deleteLogFile(Map<String,String> condition) throws ServerException;
+
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
index 90dbe91..ce126f2 100644
--- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
@@ -2,22 +2,78 @@
 
 import com.vci.ubcs.core.log.service.ILogSystemService;
 import com.vci.ubcs.log.entity.SystemLog;
+import com.vci.ubcs.resource.bo.FileObjectBO;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.rmi.ServerException;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鏈湴绯荤粺鏃ュ織
  * @author ludc
  * @date 2023/10/31 15:39
  */
+@Service
 public class LogSystemServiceImpl implements ILogSystemService {
 
+	/**
+	 * 鍚勪釜鏈嶅姟瀛樻斁鐨勭殑鐖惰矾寰�
+	 */
+	private final String parentPath = "/data1/ubcs/ubcs-server";
+	//@Value("#{'${ip-whitelist.ip}'.split(',')}")
+	private List<String> serviceDirNames = new ArrayList<>(Arrays.asList("/ubcs_code/target/log","/ubcs_omd/target/log","/ubcs_system/target/log"));
+
+	/**
+	 * 鑾峰彇鏈湴鏃ュ織鍒楄〃
+	 */
 	@Override
 	public List<SystemLog> getSystemLogList() {
+		serviceDirNames.stream().forEach(serviceDirName->{
+			File file = new File(parentPath+serviceDirName);
 
+			if(file.isDirectory()){
+
+				File[] files = file.listFiles();
+
+				for(File f : files){
+
+					if(f.isDirectory()){
+
+						//readAllFiles(f.getAbsolutePath());
+
+					}else{
+
+						System.out.println(f.getName());
+
+					}
+
+				}
+
+			}else{
+
+				System.out.println(file.getName());
+
+			}
+
+		});
 
 		return null;
 	}
 
+	@Override
+	public FileObjectBO downloadLogByServiceNameAndFileName(Map<String, String> condition) throws ServerException {
+		return null;
+	}
+
+	@Override
+	public void deleteLogFile(Map<String, String> condition) throws ServerException {
+
+	}
+
 
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java b/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java
index eecdaa7..b81f862 100644
--- a/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java
@@ -44,7 +44,6 @@
     @Autowired
     private IFileService fileService;
 
-
     /**
      * 鏍规嵁鏂囦欢涓婚敭涓嬭浇鏂囦欢
      * @param fileOids 鏂囦欢鐨勪富閿�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java
index 2f23b1b..18c0cc2 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java
@@ -9,6 +9,7 @@
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
@@ -57,7 +58,10 @@
 					});
 					tree.setOid((String)oidValues.stream().collect(Collectors.joining(wrapperOptions.getOidValueSep())));
 					tree.setName((String) VciBaseUtil.getValueFromField("name", doObject));
-					tree.setCount("銆�"+(String)VciBaseUtil.getValueFromField("total", doObject)+"銆�");
+					String total = (String) VciBaseUtil.getValueFromField("total", doObject);
+					if(Func.isNotEmpty(total)){
+						tree.setCount("銆�"+total+"銆�");
+					}
 					if (f != null) {
 						tree.setText((String)f.apply(doObject));
 					} else {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
index 4f762ce..8b842c9 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -74,7 +74,7 @@
 	 *
 	 * @return 鏁版嵁闆嗗悎
 	 */
-	List<CodeClassify> selectCodeClassifyDOByTree(@Param("id") String id,@Param("lcstatus") String lcstatus,@Param("parentcodeclassifyoid") String parentcodeclassifyoid,@Param("tenantId") String tenantId,@Param("tableName") String tableName);
+	List<CodeClassify> selectCodeClassifyDOByTree(@Param("id") String id,@Param("lcstatus") String lcstatus,@Param("parentcodeclassifyoid") String parentcodeclassifyoid,@Param("tenantId") String tenantId/*,@Param("tableName") String tableName*/);
 
 	/**
 	 * 鏌ヨ鏁版嵁涓嶱L_CODE_KEYATTRREPEAT銆丳L_CODE_RESEMBLERULE銆丳L_CODE_RULE鑱旀煡
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
index 03b4688..3c18978 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -24,6 +24,8 @@
 
 	String queryCountStringBySql(@Param("inSql") String inSql);
 
+	String selectCountByTableName(@Param("tableName") String tableName);
+
 	List<Map> selectBySql(@Param("inSql") String inSql);
 
 	List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
index eeaf5e7..1b0a786 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -53,14 +53,15 @@
 	 * @param codeClassifyEntity 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	R addSave(CodeClassify codeClassifyEntity)  ;
+	R addSave(CodeClassify codeClassifyEntity);
 
 	/**
 	 * 淇敼涓婚搴撳垎绫�
 	 * @param codeClassifyEntity 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	R editSave(CodeClassify codeClassifyEntity) ;
+	R editSave(CodeClassify codeClassifyEntity);
+
 	/**
 	 * 妫�鏌� 涓婚搴撳垎绫绘槸鍚﹀垹闄�
 	 * @param codeClassify 涓婚搴撳垎绫绘暟鎹紶杈撳璞★紝蹇呴』瑕佹湁oid鍜宼s灞炴��
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
index da2484e..e1332d8 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -59,6 +59,7 @@
 	 * @return 鏈夐敊璇俊鎭殑excel
 	 */
 	CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid,String classifyAttr, File file) throws Throwable;
+
 	/***
 	 * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆鐨勬暟鎹�
 	 * @param codeClassifyOid
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index c41aada..5cdc488 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -528,14 +528,14 @@
 			lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
 		}
 		if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
-			String tableName = this.getTableName(treeQueryObject.getParentOid(),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
+			//String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
 			doList = codeClassifyMapper
 				.selectCodeClassifyDOByTree(
 					treeQueryObject.getConditionMap().get("id"),
 					treeQueryObject.getConditionMap().get("lcStatus"),
 					treeQueryObject.getParentOid(),
-					VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId(),
-					tableName
+					VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId()
+					/*tableName*/
 				);
 		}else{
 			// 鍙鍓嶇浼氫紶鍙傛暟杩囨潵灏变笉浼氬嚭鐜拌蛋杩欏彞鐨勬儏鍐碉紝鎵�浠ユ煡璇㈡�绘暟娌″湪杩欏効娣诲姞
@@ -570,20 +570,20 @@
 	 * 鍒嗙被鍔犺浇鏃惰幏鍙栦笟鍔$被鍨媔d锛屾嫾鎺ヤ笟鍔$被鍨嬭〃鍚�
 	 * @return
 	 */
-	private String getTableName(String parentCodeClassifyOid,String id,String lcStatus){
+	private String getTableName(String btmTypeId,String id,String lcStatus){
+		if(Func.isNotEmpty(btmTypeId)){
+			return VciBaseUtil.getTableName(btmTypeId,true);
+		}
 		LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query()
 			.lambda().select(CodeClassify::getBtmTypeId)
 			.eq(CodeClassify::getLcStatus, lcStatus)
 			.isNotNull(CodeClassify::getBtmTypeId)
-			.last("limit 1");
-		if(Func.isNotBlank(id)){
-			wrapper.eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
-		}else{
-			wrapper.eq(CodeClassify::getParentCodeClassifyOid,parentCodeClassifyOid);
-		}
+			.last("limit 1")
+			.eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
+
 		CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
 		if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
-			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栦笟鍔$被鍨婭D锛�");
+			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栧埌涓氬姟绫诲瀷ID锛�");
 		}
 		return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index a33819e..61d3037 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -1069,13 +1069,16 @@
 //		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap =baseMapper
 //			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 //				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
-		List<Map<String,String>> childHasTemplateList =baseMapper
+		List<Map<String,String>> childHasTemplateList = baseMapper
 			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
 		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap = new HashMap<>();
 		if(!CollectionUtils.isEmpty(childHasTemplateList)){
 			childHasTemplateList.stream().forEach(cbo->{
-				childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID"));
+				// 鏈夋椂鍊欐煡璇㈠嚭鏉ョ殑key鏄ぇ鍐欙紝鏈夋椂鍊欐槸灏忓啓鐨刱ey
+				String oid = Func.isEmpty(cbo.get("OID")) ? cbo.get("oid"):cbo.get("OID");
+				String clsoid = Func.isEmpty(cbo.get("CLSOID")) ? cbo.get("clsoid") : cbo.get("CLSOID");
+				childHasTemplateMap.put(oid,clsoid);
 			});
 		}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 740c149..28ca14e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2947,7 +2947,7 @@
 						for (int j = 0; j < ruleVO.getSecVOList().size(); j++) {
 							CodeBasicSecVO secVO = ruleVO.getSecVOList().get(j);
 							String length= secValues[j];
-							if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>VciBaseUtil.getInt(secVO.getCodeSecLength())){
+							if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>(VciBaseUtil.getInt(secVO.getCodeSecLength())+((secVO.getPrefixCode()+secVO.getSuffixCode()).length()))){
 								errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鐮佹瀹藉害涓庣郴缁熶腑鐨勭紪鐮佽鍒欎笉鍚�" );
 								fined = true;
 								break;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
index a0cc22d..a5058b7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -141,13 +141,15 @@
 						//瑕佺湅鏄笉鏄ˉ浣嶇殑
 						CodeBasicSecVO secVO = secVOMap.get(secOid);
 						Double serialDb = null;
+						// 鎴彇鎺夊墠鍚庣紑涔嬪悗鐨勭爜娈�
+						String subSecValue = killPriffixSuffix(secValue, secVO.getPrefixCode(), secVO.getSuffixCode());
 						if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){
 							//涓嶈ˉ鐮�
 							//鎶婃墍鏈変笉鏄暟瀛楃殑鍘绘帀锛屽洜涓哄彲鑳戒細鏄�佹暟鎹紝鏂拌鍒�
-							serialDb = VciBaseUtil.getDouble(killUnNumberChar(secValue));
+							serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue));
 						}else {
 							//宸﹀彸濉厖鐨勶紝鎴戜滑闇�瑕�
-							serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(secValue,secVO.getCodeFillSeparator(),
+							serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(subSecValue,secVO.getCodeFillSeparator(),
 								OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
 						}
 						Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
@@ -461,7 +463,7 @@
 					for (int j = 0; j < serialUnitList.size(); j++) {
 						String secValue = serialUnitList.get(j);
 						if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) {
-							serialUnitList.set(j, value);
+							serialUnitList.set(j, joinPreffixAndSuffix(attrSevVO,value));
 						}
 					}
 				}
@@ -805,6 +807,23 @@
 	}
 
 	/**
+	 * 鍘绘帀鍓嶅悗缂�
+	 * @param secValue 瀛楃
+	 * @param priffix 鍓嶇紑
+	 * @param suffix 鍚庣紑
+	 * @return 鏇挎崲鍚庣殑鍊�
+	 */
+	private String killPriffixSuffix(String secValue, String priffix,String suffix){
+		if (priffix != null && secValue.startsWith(priffix)) {
+			secValue = secValue.substring(priffix.length());
+		}
+		if (suffix != null && secValue.endsWith(suffix)) {
+			secValue = secValue.substring(0, secValue.length() - suffix.length());
+		}
+		return secValue;
+	}
+
+	/**
 	 * 鍘婚櫎琛ヤ綅瀛楃
 	 * @param s 瀛楃
 	 * @param fillString 琛ヤ綅瀛楃
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index fafbdbf..229b39f 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -295,28 +295,7 @@
         codeclassify0.TENANT_ID             as tenantId ,
         coderuleoid.name                    as codeRuleOidName,
         codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
-        coderesembleruleoid.name            as codeResembleRuleOidName,
-        (
-            SELECT
-                COUNT(*)
-            FROM
-                ${tableName}
-            WHERE
-                CODECLSFID IN (
-                    SELECT
-                    oid
-                    FROM
-                    PL_CODE_CLASSIFY
-                    WHERE
-                    lcstatus = 'Enabled'
-                    START WITH
-                    OID = codeclassify0.OID
-                    CONNECT BY
-                    PRIOR OID = parentCodeClassifyOid
-                )
-                AND lastr = '1'
-                AND lastv = '1'
-        ) AS total
+        coderesembleruleoid.name            as codeResembleRuleOidName
         from pl_code_classify codeclassify0
         left join pl_code_rule coderuleoid
         on codeclassify0.codeRuleOid = coderuleoid.oid
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
index f557aba..de66f02 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -17,6 +17,10 @@
         ${inSql}
     </select>
 
+    <select id="selectCountByTableName" resultType="java.lang.String">
+        select COUNT(*) FROM ${tableName}
+    </select>
+
     <select id="selectBySql" resultType="java.util.Map">
         ${inSql}
     </select>
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index 035269d..472b595 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -317,7 +317,7 @@
 	 * @return List<Menu>
 	 */
     @Override
-	@Cacheable(cacheNames = MENU_CACHE, key = "'auth:menuButton:'+ #btmType +':'+ #userId ")
+	//@Cacheable(cacheNames = MENU_CACHE, key = "'auth:menuButton:'+ #btmType +':'+ #userId ")
     public List<Menu> getMenuButtonByType(String btmType,Long userId) {
 		List<String> roleIds = null;
 		if(!VciBaseUtil.checkAdminTenant()){

--
Gitblit v1.9.3