From 78c9c5d00e0b28177e2a40e1058773d6a1abef00 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 12 十月 2023 10:33:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/system/tenant.vue | 1
Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue | 1
Source/UBCS-WEB/src/views/system/menu.vue | 1
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java | 250 +++++++++++++++++++++++++++
Source/UBCS-WEB/src/views/authority/apiscope.vue | 1
Source/UBCS-WEB/src/views/system/user.vue | 8
Source/UBCS-WEB/src/views/authority/datascope.vue | 1
Source/UBCS-WEB/src/views/system/client.vue | 1
Source/UBCS-WEB/src/views/system/topmenu.vue | 1
Source/UBCS-WEB/src/views/authority/role.vue | 3
Source/UBCS-WEB/src/option/system/dict.js | 1
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java | 114 ++++++++++++
Source/UBCS-WEB/src/option/system/dictbiz.js | 1
Source/UBCS-WEB/src/views/system/dept.vue | 1
Source/UBCS-WEB/src/views/system/post.vue | 1
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java | 73 ++++++++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 28 ++
17 files changed, 471 insertions(+), 16 deletions(-)
diff --git a/Source/UBCS-WEB/src/option/system/dict.js b/Source/UBCS-WEB/src/option/system/dict.js
index e2d5c72..a56f842 100644
--- a/Source/UBCS-WEB/src/option/system/dict.js
+++ b/Source/UBCS-WEB/src/option/system/dict.js
@@ -2,6 +2,7 @@
height: 'auto',
calcHeight: 20,
tip: false,
+ columnBtn:false,
searchShow: true,
searchMenuSpan: 10,
border: true,
diff --git a/Source/UBCS-WEB/src/option/system/dictbiz.js b/Source/UBCS-WEB/src/option/system/dictbiz.js
index 277f520..ace45a3 100644
--- a/Source/UBCS-WEB/src/option/system/dictbiz.js
+++ b/Source/UBCS-WEB/src/option/system/dictbiz.js
@@ -1,6 +1,7 @@
export const optionParent = {
height: 'auto',
calcHeight: 30,
+ columnBtn:false,
tip: false,
searchShow: true,
searchMenuSpan: 10,
diff --git a/Source/UBCS-WEB/src/views/authority/apiscope.vue b/Source/UBCS-WEB/src/views/authority/apiscope.vue
index dd05b22..431957b 100644
--- a/Source/UBCS-WEB/src/views/authority/apiscope.vue
+++ b/Source/UBCS-WEB/src/views/authority/apiscope.vue
@@ -114,6 +114,7 @@
menu: true,
option: {
lazy: true,
+ columnBtn:false,
tip: false,
//simplePage: true,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/authority/datascope.vue b/Source/UBCS-WEB/src/views/authority/datascope.vue
index 4a32fa0..8734524 100644
--- a/Source/UBCS-WEB/src/views/authority/datascope.vue
+++ b/Source/UBCS-WEB/src/views/authority/datascope.vue
@@ -118,6 +118,7 @@
watchMode: true,
option: {
lazy: true,
+ columnBtn:false,
tip: false,
// simplePage: true,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/authority/role.vue b/Source/UBCS-WEB/src/views/authority/role.vue
index bece5ed..75d0045 100644
--- a/Source/UBCS-WEB/src/views/authority/role.vue
+++ b/Source/UBCS-WEB/src/views/authority/role.vue
@@ -38,7 +38,7 @@
<el-dialog title="瑙掕壊鏉冮檺閰嶇疆"
append-to-body
:visible.sync="box"
- width="350px"
+ width="350px"
style="height: 115vh; margin-top: -13vh; overflow: hidden">
<el-tabs type="border-card" style="overflow-y: auto; height: 72vh">
<el-tab-pane label="鑿滃崟鏉冮檺">
@@ -113,6 +113,7 @@
option: {
height: "auto",
tip: false,
+ columnBtn:false,
// simplePage: true,
searchShow: true,
searchMenuSpan: 6,
diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
index 3a39a37..e64436d 100644
--- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
+++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -128,6 +128,7 @@
option: {
headerAlign: 'center',
align: 'center',
+ columnBtn:false,
border: true,
index: true,
rowKey:'id',
diff --git a/Source/UBCS-WEB/src/views/system/client.vue b/Source/UBCS-WEB/src/views/system/client.vue
index e80b4ce..91292b0 100644
--- a/Source/UBCS-WEB/src/views/system/client.vue
+++ b/Source/UBCS-WEB/src/views/system/client.vue
@@ -50,6 +50,7 @@
selectionList: [],
option: {
height: 'auto',
+ columnBtn:false,
calcHeight: 30,
tip: false,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/system/dept.vue b/Source/UBCS-WEB/src/views/system/dept.vue
index 41936f8..1cb7847 100644
--- a/Source/UBCS-WEB/src/views/system/dept.vue
+++ b/Source/UBCS-WEB/src/views/system/dept.vue
@@ -78,6 +78,7 @@
tip: false,
height:'auto',
maxHeight:600,
+ columnBtn:false,
// simplePage: true,
searchShow: true,
searchMenuSpan: 6,
diff --git a/Source/UBCS-WEB/src/views/system/menu.vue b/Source/UBCS-WEB/src/views/system/menu.vue
index fbb3747..efe0136 100644
--- a/Source/UBCS-WEB/src/views/system/menu.vue
+++ b/Source/UBCS-WEB/src/views/system/menu.vue
@@ -107,6 +107,7 @@
option: {
height: "auto",
lazy: true,
+ columnBtn:false,
tip: false,
simplePage: true,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/system/post.vue b/Source/UBCS-WEB/src/views/system/post.vue
index c702914..0c22c51 100644
--- a/Source/UBCS-WEB/src/views/system/post.vue
+++ b/Source/UBCS-WEB/src/views/system/post.vue
@@ -55,6 +55,7 @@
selectionList: [],
option: {
height: 'auto',
+ columnBtn:false,
calcHeight: 30,
tip: false,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/system/tenant.vue b/Source/UBCS-WEB/src/views/system/tenant.vue
index d384ec9..5effe12 100644
--- a/Source/UBCS-WEB/src/views/system/tenant.vue
+++ b/Source/UBCS-WEB/src/views/system/tenant.vue
@@ -227,6 +227,7 @@
option(){
return{
height: 'auto',
+ columnBtn:false,
calcHeight: 30,
tip: false,
searchShow: true,
diff --git a/Source/UBCS-WEB/src/views/system/topmenu.vue b/Source/UBCS-WEB/src/views/system/topmenu.vue
index 96c8cf1..b55335f 100644
--- a/Source/UBCS-WEB/src/views/system/topmenu.vue
+++ b/Source/UBCS-WEB/src/views/system/topmenu.vue
@@ -93,6 +93,7 @@
option: {
height: 'auto',
calcHeight: 30,
+ columnBtn:false,
tip: false,
searchShow: true,
searchMenuSpan: 6,
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index 0f92d14..80d027e 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -278,6 +278,7 @@
tip: false,
searchShow: true,
searchMenuSpan: 6,
+ columnBtn:false,
border: true,
index: true,
selection: true,
@@ -548,12 +549,7 @@
props: {
label: "postName",
value: "id"
- },
- rules: [{
- required: true,
- message: "璇烽�夋嫨鎵�灞炲矖浣�",
- trigger: "click"
- }],
+ }
},
]
},
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java
new file mode 100644
index 0000000..1586d75
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java
@@ -0,0 +1,114 @@
+package com.vci.ubcs.code.controller;
+
+import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
+import com.vci.ubcs.code.service.ICodeResembleRuleService;
+import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+
+/**
+ * 鐩镐技鏌ヨ瑙勫垯鎺у埗鍣�
+ *
+ * @author weidy
+ * @date 2022-04-10
+ */
+@RestController
+@RequestMapping("/resembleRuleController")
+public class CodeResembleRuleController {
+ /**
+ * 鐩镐技鏌ヨ瑙勫垯 鏈嶅姟
+ */
+ @Resource
+ private ICodeResembleRuleService codeResembleRuleService;
+
+ /**
+ * 鐩镐技鏌ヨ瑙勫垯鍒楄〃
+ * @param baseQueryObject 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄鍒楄〃
+ */
+ @GetMapping("/gridCodeResembleRule")
+ public DataGrid<CodeResembleRuleVO> gridCodeResembleRule(BaseQueryObject baseQueryObject){
+ if(baseQueryObject == null){
+ baseQueryObject = new BaseQueryObject();
+ }
+ return codeResembleRuleService.gridCodeResembleRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
+ }
+ /**
+ * 澧炲姞 鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+ */
+ @PostMapping( "/addSave")
+ public R<CodeResembleRuleVO> addSave(@RequestBody CodeResembleRuleDTO codeResembleRuleDTO){
+ CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.addSave(codeResembleRuleDTO);
+ return R.data(codeResembleRuleVO);
+ }
+
+ /**
+ * 淇敼 鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+ */
+ @PutMapping("/editSave")
+ public R<CodeResembleRuleVO> editSave(@RequestBody CodeResembleRuleDTO codeResembleRuleDTO){
+ CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.editSave(codeResembleRuleDTO);
+ return R.data(codeResembleRuleVO);
+ }
+
+
+ /**
+ * 鍒犻櫎鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ */
+ @DeleteMapping( "/deleteData")
+ public R delCodeResembleRule( CodeResembleRuleDTO codeResembleRuleDTO) {
+ return codeResembleRuleService.deleteCodeResembleRule(codeResembleRuleDTO);
+ }
+
+ /**
+ * 涓婚敭鑾峰彇鐩镐技鏌ヨ瑙勫垯
+ * @param oid 涓婚敭
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄
+ */
+ @GetMapping("/getObjectByOid")
+ public R<CodeResembleRuleVO> getObjectByOid(String oid){
+ CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.getObjectByOid(oid);
+ return R.data(codeResembleRuleVO);
+ }
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇鐩镐技鏌ヨ瑙勫垯
+ * @param oids 涓婚敭锛屽涓互閫楀彿鍒嗛殧锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄
+ */
+ @GetMapping("/listDataByOids")
+ public R<CodeResembleRuleVO> listCodeResembleRuleByOids(String oids){
+ Collection<CodeResembleRuleVO> voCollection = codeResembleRuleService.listCodeResembleRuleByOids(VciBaseUtil.str2List(oids));
+ R baseResult = R.success("鏌ヨ鎴愬姛!");
+ baseResult.setData(voCollection);
+ return baseResult;
+ }
+
+
+
+ /**
+ * 鍙傜収鐩镐技鏌ヨ瑙勫垯鍒楄〃
+ * @param baseQueryObject 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛岀敓鏁堢殑鍐呭
+ */
+ @GetMapping("/refDataGrid")
+ public DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(BaseQueryObject baseQueryObject){
+ if(baseQueryObject == null){
+ baseQueryObject = new BaseQueryObject();
+ }
+ return codeResembleRuleService.refDataGridCodeResembleRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
index 8454cc0..668e4d0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
@@ -1,10 +1,18 @@
package com.vci.ubcs.code.service;
import com.github.yulichang.base.MPJBaseService;
+import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeResembleRule;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import org.springblade.core.tool.api.R;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
public interface ICodeResembleRuleService extends MPJBaseService<CodeResembleRule> {
CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid);
@@ -17,4 +25,67 @@
*/
CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException;
- }
+ /**
+ * 鏌ヨ鎵�鏈夌殑鐩镐技鏌ヨ瑙勫垯
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ DataGrid<CodeResembleRuleVO> gridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
+
+
+ /**
+ * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeResembleRuleDOs 鏁版嵁瀵硅薄鍒楄〃
+ * @return 鏄剧ず瀵硅薄
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRule> codeResembleRuleDOs) throws VciBaseException;
+
+
+ /**
+ * 澧炲姞鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ CodeResembleRuleVO addSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
+
+ /**
+ * 淇敼鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ CodeResembleRuleVO editSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
+
+
+ /**
+ * 鍒犻櫎鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+ */
+ R deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇鐩镐技鏌ヨ瑙勫垯
+ * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄
+ * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+ */
+ Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException;
+
+
+
+ /**
+ * 鍙傜収鐩镐技鏌ヨ瑙勫垯鍒楄〃
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛岀敓鏁堢殑鍐呭
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
index 896e759..a8f6fc0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
@@ -1,6 +1,10 @@
package com.vci.ubcs.code.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeResembleRule;
import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
@@ -8,13 +12,27 @@
import com.vci.ubcs.code.mapper.CodeResembleRuleMapper;
import com.vci.ubcs.code.service.ICodeResembleRuleService;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
+import com.vci.ubcs.omd.entity.BtmType;
import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
+import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
-import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
+import java.util.*;
+
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
/**
* 鐩镐技鏌ヨ瑙勫垯鏈嶅姟
@@ -23,6 +41,14 @@
*/
@Service
public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService {
+
+ /**
+ * 瀵硅薄鐨勬搷浣�
+ */
+ @Autowired
+ private RevisionModelUtil revisionModelUtil;
+
+
@Override
public CodeResembleRuleVO getObjectByOid(String oid) {
return codeResembleRuleDO2VO(selectByOid(oid));
@@ -62,4 +88,226 @@
}
return vo;
}
+
+ /**
+ * 鏌ヨ鎵�鏈夌殑鐩镐技鏌ヨ瑙勫垯
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public DataGrid<CodeResembleRuleVO> gridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+ if (pageHelper == null) {
+ pageHelper = new PageHelper(-1);
+ }
+ Query query = new Query();
+ query.setSize(pageHelper.getLimit());
+ query.setCurrent(pageHelper.getPage());
+ query.setDescs("createTime");
+
+ Map<String, Object> condition = new HashMap<>(conditionMap);
+ List<CodeResembleRule> doList = baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(condition, CodeResembleRule.class)).getRecords();
+ DataGrid<CodeResembleRuleVO> dataGrid=new DataGrid<CodeResembleRuleVO>();
+ if (!CollectionUtils.isEmpty(doList)) {
+ dataGrid.setData(codeResembleRuleDO2VOs(doList));
+ dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(Condition.getQueryWrapper(condition, CodeResembleRule.class)))));
+ }
+ return dataGrid;
+ }
+
+ /**
+ * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeResembleRuleDOs 鏁版嵁瀵硅薄鍒楄〃
+ * @return 鏄剧ず瀵硅薄
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRule> codeResembleRuleDOs) throws VciBaseException{
+ List<CodeResembleRuleVO> voList = new ArrayList<CodeResembleRuleVO>();
+ if(!CollectionUtils.isEmpty(codeResembleRuleDOs)){
+ for(CodeResembleRule s: codeResembleRuleDOs){
+ CodeResembleRuleVO vo = codeResembleRuleDO2VO(s);
+ if(vo != null){
+ voList.add(vo);
+ }
+ }
+ }
+ return voList;
+ }
+
+// /**
+// * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+// * @param codeResembleRuleDO 鏁版嵁瀵硅薄
+// * @return 鏄剧ず瀵硅薄
+// * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+// */
+// @Override
+// public CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{
+// CodeResembleRuleVO vo = new CodeResembleRuleVO();
+// if(codeResembleRuleDO != null){
+// BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo);
+// //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+// vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()));
+//
+// }
+// return vo;
+// }
+
+ /**
+ * 澧炲姞鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeResembleRuleVO addSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+ //灏咲TO杞崲涓篋O
+ CodeResembleRule codeResembleRuleDO = new CodeResembleRule();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,codeResembleRuleDO);
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeResembleRuleDO, MdmBtmTypeConstant.CODE_RESEMBLE_RULE);
+ codeResembleRuleDO.setTenantId(AuthUtil.getTenantId());
+ codeResembleRuleDO.setLctid("frameworkDataLc");
+ codeResembleRuleDO.setLcStatus("Enabled");
+ codeResembleRuleDO.setOwner(AuthUtil.getUser().getUserName());
+ codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
+ baseMapper.insert(codeResembleRuleDO);
+ return codeResembleRuleDO2VO(codeResembleRuleDO);
+ }
+
+ /**
+ * 淇敼鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeResembleRuleVO editSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"鏁版嵁瀵硅薄",codeResembleRuleDTO.getOid(),"鐩镐技鏌ヨ瑙勫垯涓婚敭");
+ //灏咲TO杞崲涓篋O
+ CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
+ revisionModelUtil.copyFromDTOIgnore(codeResembleRuleDTO,codeResembleRuleDO);
+ codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
+ codeResembleRuleDO.setLastModifyTime(new Date());
+ codeResembleRuleDO.setTs(new Date());
+ baseMapper.updateById(codeResembleRuleDO);
+ return codeResembleRuleDO2VO(codeResembleRuleDO);
+ }
+
+
+ /**
+ * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+ * @param codeResembleRuleDTO 鏁版嵁浼犺緭瀵硅薄
+ * @param codeResembleRuleDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
+ * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+ */
+ private R checkIsCanDeleteForDO(CodeResembleRuleDTO codeResembleRuleDTO, CodeResembleRule codeResembleRuleDO) {
+ CodeResembleRule tsDO = new CodeResembleRule();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,tsDO);
+// boService.checkTs(tsDO);
+// QueryWrapper<CodeResembleRule> wrapper = new QueryWrapper<>();
+// wrapper.eq("oid",tsDO.getOid());
+// wrapper.eq("ts",tsDO.getTs());
+ if(!checkIsLinked(codeResembleRuleDO.getOid())) {
+ return R.success("鍙互鍒犻櫎锛�");
+ }else{
+ return R.fail(DATA_LINKED_NOT_DELETE);
+ }
+ }
+
+ /**
+ * 鏍¢獙鏄惁琚紩鐢�
+ * @param oid 涓婚敭
+ * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ private boolean checkIsLinked(String oid) throws VciBaseException{
+ //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+ return false;
+ }
+
+ /**
+ * 鍒犻櫎鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+ */
+ @Override
+ public R deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"鐩镐技鏌ヨ瑙勫垯鏁版嵁瀵硅薄",codeResembleRuleDTO.getOid(),"鐩镐技鏌ヨ瑙勫垯鐨勪富閿�");
+ CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
+ R baseResult = checkIsCanDeleteForDO(codeResembleRuleDTO,codeResembleRuleDO);
+ if(baseResult.isSuccess()) {
+ }else{
+ return baseResult;
+ }
+ //鎵ц鍒犻櫎鎿嶄綔
+// BatchCBO batchCBO = codeResembleRuleMapper.deleteByPrimaryKey(codeResembleRuleDO.getOid());
+ int i = baseMapper.deleteById(codeResembleRuleDO.getOid());
+ return (i > 0)?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
+ }
+
+// /**
+// * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+// * @param oid 涓婚敭
+// * @return 鏁版嵁瀵硅薄
+// * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+// */
+// private CodeResembleRule selectByOid(String oid) throws VciBaseException{
+// VciBaseUtil.alertNotNull(oid,"涓婚敭");
+// CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim());
+// if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){
+// throw new VciBaseException(DATA_OID_NOT_EXIST);
+// }
+// return codeResembleRuleDO;
+// }
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇鐩镐技鏌ヨ瑙勫垯
+ * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄
+ * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+ */
+ @Override
+ public Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException{
+ VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+ List<CodeResembleRule> codeResembleRuleDOList = listCodeResembleRuleDOByOidCollections(oidCollections);
+ return codeResembleRuleDO2VOs(codeResembleRuleDOList);
+ }
+
+ /**
+ * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+ * @param oidCollections 涓婚敭鐨勯泦鍚�
+ * @return 鏁版嵁瀵硅薄鍒楄〃
+ */
+ private List<CodeResembleRule> listCodeResembleRuleDOByOidCollections(Collection<String> oidCollections){
+ List<CodeResembleRule> codeResembleRuleDOList = new ArrayList<CodeResembleRule>();
+ if(!CollectionUtils.isEmpty(oidCollections)){
+ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+ for(Collection<String> oids: oidCollectionsList){
+ List<CodeResembleRule> tempDOList = baseMapper.selectBatchIds(oids);
+ if(!CollectionUtils.isEmpty(tempDOList)){
+ codeResembleRuleDOList.addAll(tempDOList);
+ }
+ }
+ }
+ return codeResembleRuleDOList;
+ }
+
+
+
+ /**
+ * 鍙傜収鐩镐技鏌ヨ瑙勫垯鍒楄〃
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛岀敓鏁堢殑鍐呭
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+ if(conditionMap == null){
+ conditionMap = new HashMap<String, String>();
+ }
+ return gridCodeResembleRule(conditionMap,pageHelper);
+ }
}
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 1a5b1ae..cf29925 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
@@ -29,6 +29,7 @@
import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.VciDateUtil;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -42,6 +43,7 @@
import static com.vci.ubcs.code.constant.MdmEngineConstant.*;
@Service
+@Slf4j
public class MdmProductCodeServiceImpl implements MdmProductCodeService {
/**
@@ -97,9 +99,11 @@
Map<String/**娴佹按渚濇嵁**/, Map<String/**鐮佹鐨勪富閿�**/,Double/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new HashMap<>();
// TODO 澶氱嚎绋嬫祦寮曞彂鐨勯棶棰樺凡淇敼
dataCBOList.parallelStream().forEach(cbo->{
+ log.info("code:----->"+cbo.getId());
// VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
String code = cbo.getId();
List<String> serialUnitList = new ArrayList<>();
+ String seclenghStr=cbo.getData().get(CODE_SEC_LENGTH_FIELD);
String[] secLengths = cbo.getData().get(CODE_SEC_LENGTH_FIELD).split("#");
cbo.getData().remove(CODE_SEC_LENGTH_FIELD);//灏嗘key闄ゅ幓
cbo.getData().remove(IMPORT_ROW_INDEX);//灏嗘key闄ゅ幓
@@ -110,18 +114,18 @@
for (int i = 0; i < secLengths.length; i++) {
CodeBasicSecVO secVO = secVOList.get(i);
String thisSecValue = "";
- if(i == 0){
- thisSecValue = code.contains("#")?code.substring(0,code.indexOf("#")):code;
+ /*if(i == 0){
+ thisSecValue = seclenghStr.contains("#")?code.substring(0,VciBaseUtil.getInt(secLengths[i])):code;
} else if(i == secLengths.length-1){
//鏈�鍚�
- thisSecValue = code.contains("#")?code.substring(code.lastIndexOf("#")):code;
- }else {
+ thisSecValue = seclenghStr.contains("#")?code.substring(VciBaseUtil.getInt(secLengths[i-1]),code.length()):code;
+ }else {*/
int start = 0;
for (int j = 0; j < i; j++) {
- start += VciBaseUtil.getInt(secLengths[j]) + 1;
+ start += VciBaseUtil.getInt(secLengths[j]);
}
- thisSecValue = code.substring(start,start+VciBaseUtil.getInt(secLengths[1]));
- }
+ thisSecValue = code.substring(start,start+VciBaseUtil.getInt(secLengths[i]));
+ // }
if(VciBaseUtil.getBoolean(secVO.getSerialDependFlag())){
serialUnitList.add(thisSecValue);
}
@@ -146,6 +150,12 @@
OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
}
Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
+ if(thisUnitMaxMap.containsKey(secOid)){
+ Double maxValue= thisUnitMaxMap.getOrDefault(secOid,new Double(-1));
+ if(maxValue>serialDb){
+ serialDb=maxValue;
+ }
+ }
thisUnitMaxMap.put(secOid,serialDb);
maxSerialMap.put(serialUnitString,thisUnitMaxMap);
serialUnFileStringList.add(String.valueOf(serialDb));
@@ -167,6 +177,7 @@
//澶勭悊鏈�澶х殑娴佹按鍙�
List<CodeSerialValue> addSerialValueList = new ArrayList<>();
List<CodeSerialValue> editSerialValueList = new ArrayList<>();
+ log.info("maxSerialMap:----->"+maxSerialMap.size());
maxSerialMap.forEach((serialUnit,secOidMaxMap)->{
secOidMaxMap.forEach((secOid,maxSerial)->{
QueryWrapper<CodeSerialValue> queryWrapper = new QueryWrapper<>();
@@ -176,8 +187,10 @@
queryWrapper.eq("codeSecOid", secOid);
List<CodeSerialValue> serialValueDOS = serialValueMapper.selectList(queryWrapper);
+ log.info("serialValueDOS--->"+serialValueDOS.size());
if (!CollectionUtils.isEmpty(serialValueDOS)) {
CodeSerialValue serialValueDO = serialValueDOS.get(0);
+ log.info("oldmaxSerial--->"+serialValueDO.getMaxSerial()+"---- newmaxSerial---->"+maxSerial);
if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<maxSerial){
serialValueDO.setMaxSerial(String.valueOf(maxSerial));
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO);
@@ -318,6 +331,7 @@
//瑕佸瓨鍌ㄦ渶鍚庣殑鍏ㄩ儴allcode
wrapperAllCode(classifyFullInfoBO, ruleVO, cbo, templateVO, allCodeDOList, serialUnitString, sb.toString());
}
+ //澶勭悊鏈�澶ф祦姘�
saveSerialValue( ruleVO, lastMaxSerialValueMap, maxSerialValueMap);
allCodeDOList.stream().forEach(
--
Gitblit v1.9.3