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