From 4496cc4b1f17c4b3de5e954388baeadf04de719d Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 29 十一月 2023 14:49:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- /dev/null | 158 ------------------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java | 7 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 4 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准化文件修订.json | 37 ++++ Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java | 6 Source/UBCS-WEB/src/views/monitor/log/operateLog.vue | 177 ++++++++++++++++++++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准化文件申请.json | 37 ++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/系列变标准.json | 34 ++++ 8 files changed, 298 insertions(+), 162 deletions(-) diff --git a/Source/UBCS-WEB/src/views/monitor/log/authLog.vue b/Source/UBCS-WEB/src/views/monitor/log/authLog.vue deleted file mode 100644 index e69de29..0000000 --- a/Source/UBCS-WEB/src/views/monitor/log/authLog.vue +++ /dev/null diff --git a/Source/UBCS-WEB/src/views/monitor/log/loginLog.vue b/Source/UBCS-WEB/src/views/monitor/log/loginLog.vue deleted file mode 100644 index e5d653c..0000000 --- a/Source/UBCS-WEB/src/views/monitor/log/loginLog.vue +++ /dev/null @@ -1,158 +0,0 @@ -<template> - <basic-container> - <avue-crud :option="option" - :table-loading="loading" - :data="data" - ref="crud" - v-model="form" - :permission="permissionList" - :page.sync="page" - :before-open="beforeOpen" - @search-change="searchChange" - @search-reset="searchReset" - @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad"> - </avue-crud> - </basic-container> -</template> - -<script> - import { listLogOperate } from "@/api/logs"; - import {mapGetters} from "vuex"; - - export default { - data() { - return { - form: {}, - selectionList: [], - query: {}, - //鏄惁鏄笁鍛樼鐞嗗憳鏃ュ織 - isAdmin: 0, - // LoginOrLogout:鐧诲綍鏃ュ織,auth:鎺堟潈鏃ュ織,operate:鎿嶄綔鏃ュ織 - logType: "LoginOrLogout", - loading: true, - page: { - pageSize: 10, - currentPage: 1, - total: 0 - }, - option: { - height: 'auto', - calcHeight: 30, - columnBtn:false, - tip: false, - searchShow: true, - searchMenuSpan: 6, - border: true, - index: true, - viewBtn: true, - editBtn: false, - addBtn: false, - delBtn: false, - menuWidth: 120, - dialogType: 'drawer', - column: [ - { - label: "鐢ㄦ埛鍚�", - prop: "userName", - search: true - }, - { - label: "濮撳悕", - prop: "realName", - search: true - }, - { - label: "鐢ㄦ埛ip", - prop: "ip" - }, - { - label: "妯″潡", - prop: "model", - width:'160' - }, - { - label: "鏃堕棿", - prop: "time" - }, - { - label: "鎿嶄綔缁撴灉", - prop: "operateResult" - }, - { - label: "鎻忚堪", - prop: "description" - }, - ] - }, - data: [] - }; - }, - computed: { - ...mapGetters(["permission"]), - permissionList() { - return { - viewBtn: this.vaildData(this.permission.log_usual.log_usual_view, false) - }; - }, - }, - methods: { - searchReset() { - this.query = {}; - this.onLoad(this.page); - }, - searchChange(params, done) { - this.query = params; - this.page.currentPage = 1; - this.onLoad(this.page, params); - done(); - }, - underscoreName(key) { - return key.replace(/([A-Z])/g, "_$1").toLowerCase(); - }, - beforeOpen(done, type) { - if (["edit", "view"].includes(type)) { - getUsualLogs(this.form.id).then(res => { - this.form = res.data.data; - }); - } - done(); - }, - currentChange(currentPage){ - this.page.currentPage = currentPage; - }, - sizeChange(pageSize){ - this.page.pageSize = pageSize; - }, - refreshChange() { - this.onLoad(this.page, this.query); - }, - onLoad(page, params = {}) { - let conditionMaps = {}; - conditionMaps["conditionMap[is_admin]"] = this.isAdmin; - conditionMaps["conditionMap[log_type]"] = this.logType.trim(); - if (params) { - Object.keys(params).forEach((key) => { - conditionMaps["conditionMap[" + this.underscoreName(key) + "_like]"] = params[key].trim(); - }); - } - this.loading = true; - listLogOperate( - page.currentPage, - page.pageSize, - conditionMaps - ).then(res => { - const data = res.data.data; - this.page.total = data.total; - this.data = data.records; - this.loading = false; - }); - } - } - }; -</script> - -<style> -</style> diff --git a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue index e69de29..b797733 100644 --- a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue +++ b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue @@ -0,0 +1,177 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + ref="crud" + v-model="form" + :permission="permissionList" + :page.sync="page" + :before-open="beforeOpen" + @search-change="searchChange" + @search-reset="searchReset" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + </avue-crud> + </basic-container> +</template> + +<script> + import { listLogOperate } from "@/api/logs"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + form: {}, + selectionList: [], + query: {}, + //鏄惁鏄笁鍛樼鐞嗗憳鏃ュ織 + isAdmin: '', + // LoginOrLogout:鐧诲綍鏃ュ織,grant:鎺堟潈鏃ュ織,operate:鎿嶄綔鏃ュ織 + logType: '', + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + option: { + height: 'auto', + calcHeight: 30, + columnBtn:false, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + editBtn: false, + addBtn: false, + delBtn: false, + menuWidth: 120, + dialogType: 'drawer', + column: [ + { + label: "鐢ㄦ埛鍚�", + prop: "userName", + search: true, + width:'100' + }, + { + label: "濮撳悕", + prop: "realName", + search: true, + width:'100' + }, + { + label: "鐢ㄦ埛ip", + prop: "ip", + width:'100' + }, + { + label: "妯″潡", + prop: "model", + width:'140' + }, + { + label: "鏃堕棿", + prop: "time", + width:'160' + }, + { + label: "鎿嶄綔缁撴灉", + prop: "operateResult", + width:'100' + }, + { + label: "鎻忚堪", + prop: "description", + width:'300' + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + viewBtn: this.vaildData(this.permission.log_usual.log_usual_view, false) + }; + }, + }, + created() { + this.getRouteParam() + }, + methods: { + //鑾峰彇鏁版嵁 + getRouteParam() { + const logType = this.$route.query.log_type; // 鑾峰彇log_type鍙傛暟鐨勫�� + const result = logType.substring(0, logType.indexOf(':')); // 鎴彇浠�0鍒癅涔嬮棿鐨勫瓙瀛楃涓� + const isAdmin = logType.substring(logType.indexOf(':')+1, logType.indexOf('@')); // 浠嶡涔嬪悗鎴彇鍒版湯灏剧殑瀛愬瓧绗︿覆 + this.logType = result; + this.isAdmin = isAdmin; + //console.log(this.logType) + //console.log(this.isAdmin) + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + underscoreName(key) { + return key.replace(/([A-Z])/g, "_$1").toLowerCase(); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getUsualLogs(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + let conditionMaps = {}; + conditionMaps["conditionMap[is_admin]"] = this.isAdmin; + conditionMaps["conditionMap[log_type]"] = this.logType.trim(); + if (params) { + Object.keys(params).forEach((key) => { + conditionMaps["conditionMap[" + this.underscoreName(key) + "_like]"] = params[key].trim(); + }); + } + this.loading = true; + listLogOperate( + page.currentPage, + page.pageSize, + conditionMaps + ).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + }); + } + } + }; +</script> + +<style> +</style> diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java index 9913f8b..eb886d5 100644 --- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java +++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java @@ -31,6 +31,7 @@ import com.vci.ubcs.common.cache.CacheNames; import org.springblade.core.jwt.JwtUtil; import org.springblade.core.jwt.props.JwtProperties; +import org.springblade.core.launch.constant.TokenConstant; import org.springblade.core.log.annotation.LoginOrLogoutLog; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.utils.AuthUtil; @@ -110,6 +111,7 @@ // 鑾峰彇绉熸埛ID String headerTenant = request.getHeader(TokenUtil.TENANT_HEADER_KEY); String paramTenant = request.getParameter(TokenUtil.TENANT_PARAM_KEY); + String refreshToken = request.getParameter(TokenConstant.REFRESH_TOKEN); String password = request.getParameter(TokenUtil.PASSWORD_KEY); String grantType = request.getParameter(TokenUtil.GRANT_TYPE_KEY); // 鍒ゆ柇绉熸埛璇锋眰澶� @@ -139,7 +141,9 @@ //瓒呯骇绠$悊鍛橀厤缃枃浠堕厤缃处鍙峰瘑鐮侊紝瀹炵幇鐧诲綍, 榛樿绉熸埛id鍜岃秴绠′负閰嶇疆鍑烘潵鐨� if(tenantId.equals(this.tenantId) && userName.equals(username)){ - if (!this.userName.equals(username) || !BladePasswordEncoderFactories.createDelegatingPasswordEncoder().encode(password).equalsIgnoreCase(AuthConstant.ENCRYPT+this.password)) { + if (Func.isBlank(refreshToken)/*鍒锋柊token涓嶇敤鏍¢獙瀵嗙爜*/ + && (!this.userName.equals(username) || !BladePasswordEncoderFactories.createDelegatingPasswordEncoder().encode(password).equalsIgnoreCase(AuthConstant.ENCRYPT+this.password)) + ) { setFailCount(tenantId, username, count,strategy.getLockingTime()); throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND+"杩樻湁銆�"+(failCount-count)+"銆戞灏濊瘯鏈轰細!"); } diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\344\277\256\350\256\242.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\344\277\256\350\256\242.json" new file mode 100644 index 0000000..902c5f1 --- /dev/null +++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\344\277\256\350\256\242.json" @@ -0,0 +1,37 @@ +{ + "operationType": "2", + "series": false, + "releaseTime": "2023-11-23", + "oldCode": "BJJ-23-1", + "seriesFlow": "", + "isEditSeries": false, + "editInProcess": false, + "codeClassifyOid": "1722159255211085824", + "templateOid": "1722162284376199170", + "codeRuleOid": "1729702446013485056", + "editInProcess": "", + "secDTOList":[{ + "secOid":"1729702742034878464", + "secValue": "BJJ" + },{ + "secOid":"1729702831633600512", + "secValue": "-" + }, + { + "secOid":"1729703035887816704", + "secValue": "23" + },{ + "secOid":"1729703108231172096", + "secValue": "-" + } + ], + "data":{"name":"鏍囧噯鍖栨枃浠跺悕绉�", + "standardFileType":"鏂囦欢绫诲瀷", + "codeStandardEditType":"2", + "oldcode":"BJJ-23-1", + "isSeries":"false", + "reviseSeries":"false", + "ImplementationDate":"2023-11-23 19:22:33", + "approveDate":"2023-11-23 19:22:33", + "releaseDate": "2023-11-23 19:22:33"} +} diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\347\224\263\350\257\267.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\347\224\263\350\257\267.json" new file mode 100644 index 0000000..c68b161 --- /dev/null +++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\345\214\226\346\226\207\344\273\266\347\224\263\350\257\267.json" @@ -0,0 +1,37 @@ +{ + "operationType": "1", + "series": false, + "releaseTime": "2023-11-23", + "oldCode": "", + "seriesFlow": "", + "isEditSeries": false, + "editInProcess": false, + "codeClassifyOid": "1722159255211085824", + "templateOid": "1722162284376199170", + "codeRuleOid": "1729702446013485056", + "editInProcess": "", + "secDTOList":[{ + "secOid":"1729702742034878464", + "secValue": "BJJ" + },{ + "secOid":"1729702831633600512", + "secValue": "-" + }, + { + "secOid":"1729703035887816704", + "secValue": "23" + },{ + "secOid":"1729703108231172096", + "secValue": "-" + } + ], + "data":{"name":"鏍囧噯鍖栨枃浠跺悕绉�", + "standardFileType":"鏂囦欢绫诲瀷", + "codeStandardEditType":"1", + "oldcode":"", + "isSeries":"false", + "reviseSeries":"false", + "ImplementationDate":"2023-11-23 19:22:33", + "approveDate":"2023-11-23 19:22:33", + "releaseDate": "2023-11-23 19:22:33"} +} diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\345\217\230\346\240\207\345\207\206.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\345\217\230\346\240\207\345\207\206.json" new file mode 100644 index 0000000..132a7b8 --- /dev/null +++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\345\217\230\346\240\207\345\207\206.json" @@ -0,0 +1,34 @@ +{ + "operationType": "2", + "series": true, + "releaseTime": "2023-11-23", + "oldCode": "Q/3B7.1-2023", + "seriesFlow": "", + "isEditSeries": true, + "editInProcess": false, + "codeClassifyOid": "1722159168229609472", + "templateOid": "1722159635358650369", + "codeRuleOid": "1717377846655193088", + "editInProcess": "", + "secDTOList":[{ + "secOid":"1717378065371369472", + "secValue": "Q/3B" + },{ + "secOid":"1722497248551636992", + "secValue": "-" + }, + { + "secOid":"1722497450259910656", + "secValue": "2023" + } + ], + "data":{"name":"绯诲垪鏍囧噯鍚嶇О", + "standardFileType":"鏂囦欢绫诲瀷", + "codeStandardEditType":"2", + "oldcode":"Q/3B7.1-2023", + "isSeries":"true", + "reviseSeries":"true", + "ImplementationDate":"2023-11-23 19:22:33", + "approveDate":"2023-11-23 19:22:33", + "releaseDate": "2023-11-23 19:22:33"} +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java index 26d489d..ab65d16 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java @@ -116,7 +116,12 @@ int newYear=0; int month=0; if(yearMoths.length>2){ - newYear=Integer.parseInt(yearMoths[0]); + String year=yearMoths[0]; + if(year.length()>String.valueOf(yearSecValue).length()){//鏈夋椂鍊欏彂甯冩椂闂寸殑骞撮暱搴﹀ぇ浜庣爜娈电殑闀垮害锛屽垯闇�瑕佹埅鍙栧悗2浣� + newYear= Integer.parseInt(year.substring(2)); + }else { + newYear=Integer.parseInt(year); + } month=Integer.parseInt(yearMoths[1]); } if(newYear>yearSecValue&&month>1){ 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 f5e3785..c012248 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 @@ -961,14 +961,14 @@ LinkedList<CodeOrderSecDTO> newSecDTOList=new LinkedList<>(); changeCodeOrderSecDTO(ruleVO,secDTOS,oldCode,newSecDTOList);//鏍规嵁瑕佹眰閲嶆柊绠楃爜娈电爜鍊� if(!codeBZApplyDTO.isEditSeries()){//鍙樻洿涓烘爣鍑� - if(!codeBZApplyDTO.isSeries()){//濡傛灉鏄〃鍑嗭紝鍒欓渶瑕佸皢绯诲垪濂芥祦姘寸疆涓簄ull + //if(!codeBZApplyDTO.isSeries()){//濡傛灉鏄〃鍑嗭紝鍒欓渶瑕佸皢绯诲垪濂芥祦姘寸疆涓簄ull //鍥犱负鏄爣鍑嗗垯鎺у埗鐮佹涓殑绯诲垪娴佹按鐮佹鍊间负绌� newSecDTOList.stream().forEach(codeOrderSecDTO -> { if(codeCodeBasicSecMap.containsKey(codeOrderSecDTO.getSecOid())&&codeCodeBasicSecMap.get(codeOrderSecDTO.getSecOid()).getName().equals(secName)){ codeOrderSecDTO.setSecValue(""); } }); - } + //} orderDTO.setSecDTOList(newSecDTOList); return createDataBZ(orderDTO,ruleVO,authUser); }else{//鍙樻洿涓虹郴鍒�.鍒欐寜鐓ч�昏緫鍘诲鐞� -- Gitblit v1.9.3