Merge remote-tracking branch 'origin/master'
| | |
| | | }, |
| | | onError(err) { |
| | | this.pageLoading.close(); |
| | | console.log('onError') |
| | | }, |
| | | uploadChange(file) { |
| | | if (file.status === "success" || file.status === "error") { |
| | | this.pageLoading.close(); |
| | | console.log('uploadChange') |
| | | } |
| | | }, |
| | | }, |
| | |
| | | |
| | | <!-- ç¼ç è§å,å
éå¯¹è¯æ¡ --> |
| | | <clone-rule-dialog |
| | | :visible.sync="cloneSettingBox" |
| | | :ruleData="selectionList[0]" |
| | | :visible.sync="cloneSettingBox" |
| | | @refreshRuleTable="onLoad"> |
| | | </clone-rule-dialog> |
| | | |
| | | <!-- ç¼ç è§å,ä»å
¶ä»è§åå
éå¯¹è¯æ¡ --> |
| | | <clone-other-basic-sec-dialog |
| | | :visible.sync="cloneOtherCodeRuleSettingBox" |
| | | :quiltCloneCodeRule="selectionList[0]" |
| | | :visible.sync="cloneOtherCodeRuleSettingBox" |
| | | @refreshRuleTable="onLoad"> |
| | | </clone-other-basic-sec-dialog> |
| | | |
| | |
| | | <el-dialog |
| | | :visible.sync="escapeOwnerVisible" |
| | | append-to-body |
| | | class="avue-dialog avue-dialog--top" |
| | | title="转移ææè
" |
| | | width="30%" |
| | | class= "avue-dialog avue-dialog--top" |
| | | > |
| | | <el-select v-model="ruleOwner" class="selects" placeholder="è¯·éæ©"> |
| | | <el-option |
| | |
| | | @click="openBasicDialog('edit', scope.row)" |
| | | >ç¼è¾ |
| | | </el-button> |
| | | <el-button v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" |
| | | <el-button |
| | | v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" |
| | | icon="el-icon-setting" |
| | | plain |
| | | size="small" |
| | |
| | | :label-width="rightFormLabelWidth" |
| | | label="èªå®ä¹çæµæ°´ç®æ³:" |
| | | > |
| | | <el-input |
| | | v-model="form.customCodeSerialClass" |
| | | :readonly="basicSecOnlyRead" |
| | | ></el-input> |
| | | <template> |
| | | <vciWebRefer |
| | | ref="refer" |
| | | :referConfig="this.referConfig || {}" |
| | | :display="true" |
| | | :value="form.customCodeSerialClass" |
| | | :text="form.customCodeSerialClass" |
| | | @setReferValue="setReferValue" |
| | | ></vciWebRefer> |
| | | <!-- <el-input--> |
| | | <!-- v-model="form.customCodeSerialClass"--> |
| | | <!-- :readonly="basicSecOnlyRead"--> |
| | | <!-- @focus="streamFocusHandler"--> |
| | | <!-- ></el-input>--> |
| | | </template> |
| | | |
| | | |
| | | </el-form-item> |
| | | </div> |
| | | <!-- å±çº§ç 段 --> |
| | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button |
| | | :disabled="!showbtn" |
| | | type="primary" |
| | | :loading="isLoadingSecCodeAddBtn" |
| | | @click="saveOrEditBasicCode">ä¿ å</el-button> |
| | | type="primary" |
| | | @click="saveOrEditBasicCode">ä¿ å |
| | | </el-button> |
| | | <el-button @click="addBasicCodeSettingBox = false">å æ¶</el-button> |
| | | </div> |
| | | |
| | |
| | | </avue-crud> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="saveSelectedParentClassify" |
| | | >ä¿ å</el-button |
| | | >ä¿ å |
| | | </el-button |
| | | > |
| | | <el-button |
| | | @click="parentClsfyParams.isShowParentClassifySettingBox = false" |
| | | >å æ¶</el-button |
| | | >å æ¶ |
| | | </el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | |
| | | > |
| | | </refer-config-dialog> |
| | | </el-dialog> |
| | | |
| | | <!-- èªå®ä¹æµæ°´åç
§ç»ä»¶--> |
| | | |
| | | |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import { getByRoleUserList } from "@/api/system/user"; |
| | | import func from "@/util/func"; |
| | | import secTypeEnum from '@/enumpack/CodeSecTypeEnum'; |
| | | import vciWebRefer from "../../components/refer/vciWebRefer"; |
| | | |
| | | export default { |
| | | components: { vciWebRefer }, |
| | | data() { |
| | | return { |
| | | referConfig:{ |
| | | title: 'èªå®ä¹æµæ°´åç
§', |
| | | showField: 'customCodeSerialClass', |
| | | field: 'customCodeSerialClass', |
| | | fieldMap: {}, |
| | | placeholder:'è¯·éæ©èªå®ä¹æµæ°´', |
| | | options: { |
| | | // 设置é»è®¤ç屿§ |
| | | url: 'api/ubcs-code/codeSerialAlgorithmController/gridCodeSerialAlgorithm', |
| | | valueField:'classFullName', |
| | | textField:'classFullName', |
| | | isMuti: false, |
| | | type: "grid", |
| | | method: 'get', |
| | | tableConfig: { |
| | | page: { |
| | | limit: 15, |
| | | page: 1 |
| | | }, |
| | | cols: [ |
| | | {title: 'ç®æ³ç¼å·', field: 'id', width: 200}, |
| | | {title: 'ç®æ³åç§°', field: 'name', width: 150}, |
| | | {title: 'ç±»å
¨è·¯å¾', field: 'classFullName', width: 300}, |
| | | {title: 'æè¿°', field: 'description'} |
| | | ], |
| | | queryColumns: [ |
| | | // {field: 'id', title: 'ç®æ³ç¼å·'}, |
| | | // {field: 'name', title: 'ç®æ³åç§°'} |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | crudOption:{...optionRule}, |
| | | ruleForm: {}, |
| | | query: {}, |
| | |
| | | localStorage.removeItem('codeGetValueType'); |
| | | }, |
| | | methods: { |
| | | |
| | | //èªå®ä¹æµæ°´å¤±ç¦ |
| | | setReferValue(data){ |
| | | console.log(data) |
| | | }, |
| | | /** 转移è§åææè
å¯¹è¯æ¡ */ |
| | | escapeOwner() { |
| | | if (this.selectionList.length === 0) { |
| | |
| | | export default { |
| | | name: "passwords.vue", |
| | | data() { |
| | | // æå°é¿åº¦æ£åç»å®å¼ |
| | | let validatePass="" |
| | | //æå¤§é¿åº¦æ£åç»å®å¼ |
| | | let validatePass1="" |
| | | //è¿ææ¶é´æ£åç»å®å¼ |
| | | let validatePass2="" |
| | | //æéæ¶é´æ£åç»å®å¼ |
| | | let validatePass3="" |
| | | //é宿¬¡æ°æ£åç»å®å¼ |
| | | let validatePass4="" |
| | | //é宿¶é´æ£åç»å®å¼ |
| | | let validatePass5="" |
| | | //æå°é¿åº¦ç»å®value |
| | | let values="" |
| | | //æå¤§é¿åº¦ç»å®value |
| | | let values1="" |
| | | //æå°é¿åº¦æ£åæ¹æ³ |
| | | validatePass = (rule, value,callback) => { |
| | | values=value*1 |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥å¯ç æå°é¿åº¦')); |
| | | // }else if(values >= values1*1){ |
| | | // callback(new Error('å¯ç æå°é¿åº¦ä¸è½å¤§äºå¯ç æå¤§é¿åº¦')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('å¯ç æå°é¿åº¦çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | //æå¤§é¿åº¦æ£åæ¹æ³ |
| | | validatePass1= (rule, value,callback) =>{ |
| | | values1=value*1 |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥å¯ç æå¤§é¿åº¦')); |
| | | }else if(values1 <= values){ |
| | | callback(new Error('å¯ç æå¤§é¿åº¦ä¸è½å°äºå¯ç æå¤§é¿åº¦')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('å¯ç æå¤§é¿åº¦çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | validatePass2 = (rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥è¿ææ¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('è¿ææ¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | validatePass3 = (rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥è¿ææ¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('è¿ææ¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | validatePass4 = (rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥é宿¬¡æ°')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('é宿¬¡æ°çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | validatePass5 = (rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥é宿¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('é宿¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | //æå°é¿åº¦ç»å®value |
| | | values:"", |
| | | //æå¤§é¿åº¦ç»å®value |
| | | values1:"", |
| | | form:{}, |
| | | page: { |
| | | pageSize: 10, |
| | |
| | | labelWidth:"22%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass, |
| | | validator:(rule, value,callback)=>{ |
| | | this.values=value*1 |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥å¯ç æå°é¿åº¦')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('å¯ç æå°é¿åº¦çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else if(this.values >= this.values1 && this.values1 != 0){ |
| | | callback(new Error('å¯ç æå°é¿åº¦ä¸è½å¤§äºå¯ç æå¤§é¿åº¦')) |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | |
| | | labelWidth:"25%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass1, |
| | | validator:(rule, value,callback) =>{ |
| | | this.values1=value*1 |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥å¯ç æå¤§é¿åº¦')); |
| | | }else if(this.values1 <= this.values){ |
| | | callback(new Error('å¯ç æå¤§é¿åº¦ä¸è½å°äºå¯ç æå¤§é¿åº¦')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('å¯ç æå¤§é¿åº¦çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'change' |
| | | }] |
| | | }, |
| | |
| | | labelWidth:"22%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass2, |
| | | validator: (rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥è¿ææ¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('è¿ææ¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | |
| | | labelWidth:"25%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass3, |
| | | validator:(rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥è¿ææ¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('è¿ææ¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | |
| | | labelWidth:"22%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass4, |
| | | validator:(rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥é宿¬¡æ°')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('é宿¬¡æ°çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | |
| | | labelWidth:"25%", |
| | | rules: [{ |
| | | required: true, |
| | | validator:this.validatePass5, |
| | | validator:(rule, value,callback) => { |
| | | if(value == ""){ |
| | | callback(new Error('请è¾å
¥é宿¶é´')); |
| | | }else if(/[^\d]/g.test(value)){ |
| | | callback(new Error('é宿¶é´çè¾å
¥ç±»ååªè½ä¸ºæ°åç±»å')); |
| | | }else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | |
| | | this.selectlength=val |
| | | }, |
| | | handleCheckboxChange(val) { |
| | | // console.log("val",val); |
| | | const arr = this.option.column[5]; |
| | | if(val){ |
| | | this.checkboxlength = val.value; |
| | | return |
| | | } |
| | | // console.log("this.checkboxlength",this.checkboxlength); |
| | | this.checkboxedit = this.checkboxlength.toString().split(","); |
| | | if (val.value != undefined && val.value != null) { |
| | | if (this.checkboxlist == val.value) { |
| | | |
| | | if (val.value !== undefined && val.value !== null) { |
| | | if (this.checkboxlist === val.value) { |
| | | return; |
| | | } else { |
| | | this.checkboxlist = val.value; |
| | | if ( |
| | | this.selectlength.value >= val.value.length && |
| | | this.selectlength.value > val.value.length && |
| | | val.value.length > 0 |
| | | ) { |
| | | this.showMessage("å¿
å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼"); |
| | | this.showWarningMessage(); |
| | | } else if ( |
| | | this.selectlength.value >= this.checkboxedit.length && |
| | | this.selectlength.value > this.checkboxedit.length && |
| | | this.checkboxedit.length > 0 |
| | | ) { |
| | | this.showMessage("å¿
å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼"); |
| | | this.showWarningMessage(); |
| | | } |
| | | } |
| | | } |
| | | const disabledCount = Math.min(this.checkboxedit.length, 4); |
| | | for (let i = 0; i < arr.dicData.length; i++) { |
| | | arr.dicData[i].disabled = i >= disabledCount; |
| | | |
| | | if (val.value !== undefined && val.value !== null) { |
| | | if (val.value.length === 1) { |
| | | this.setDisabled(arr, [0]); |
| | | } else if (val.value.length === 2) { |
| | | this.setDisabled(arr, [0, 1]); |
| | | } else if (val.value.length === 3) { |
| | | this.setDisabled(arr, [0, 1, 2]); |
| | | } else if (val.value.length === 4) { |
| | | this.setDisabled(arr, [0, 1, 2, 3]); |
| | | } else if (val.value.length === 0) { |
| | | this.setDisabled(arr, [-1]); |
| | | } |
| | | if (this.editFlag == true) { |
| | | const disabledCount = Math.min(this.checkboxedit.length, 4); |
| | | for (let i = 0; i < arr.dicData.length; i++) { |
| | | arr.dicData[i].disabled = i >= disabledCount; |
| | | } else if (this.checkboxNumber.length !== 0) { |
| | | this.setDisabled(arr, [0, 1, 2, 3]); |
| | | } |
| | | |
| | | if (this.editFlag) { |
| | | if (this.checkboxedit.length === 1) { |
| | | this.setDisabled(arr, [0]); |
| | | } else if (this.checkboxedit.length === 2) { |
| | | this.setDisabled(arr, [0, 1]); |
| | | } else if (this.checkboxedit.length === 3) { |
| | | this.setDisabled(arr, [0, 1, 2]); |
| | | } else if (this.checkboxedit.length === 4) { |
| | | this.setDisabled(arr, [0, 1, 2, 3]); |
| | | } else if (this.checkboxedit.length === 0) { |
| | | this.setDisabled(arr, [-1]); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | setDisabled(arr, indices) { |
| | | arr.dicData.forEach((item, index) => { |
| | | item.disabled = !indices.includes(index); |
| | | }); |
| | | }, |
| | | |
| | | showWarningMessage() { |
| | | this.$message({ |
| | | message: 'å¿
å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼', |
| | | type: 'warning', |
| | | showClose: true, |
| | | }); |
| | | }, |
| | | rowDel(row){ |
| | | this.$confirm("ç¡®å®å°éæ©æ°æ®å é¤?", { |
| | |
| | | this.editFlag=true; |
| | | this.checkboxNumber=row.combinationIds.split(",") |
| | | this.selectNumber=row.requiredType |
| | | if(this.checkboxNumber.length<=this.selectNumber){ |
| | | if(this.checkboxNumber.length < this.selectNumber){ |
| | | this.$message({ |
| | | type:"warning", |
| | | message:"å¿
å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼" |
| | |
| | | private String customCodeSerialClass; |
| | | |
| | | /** |
| | | * èªå®ä¹çæµæ°´ç®æ³ç±» |
| | | */ |
| | | private String customCodeSerialClassText; |
| | | |
| | | /** |
| | | * æ¯å¦èªå¨å¹é
åç±»å¼ |
| | | */ |
| | | private String matchClassifyValueFlag; |
| | |
| | | this.referCodeClassifyOidName = referCodeClassifyOidName; |
| | | } |
| | | |
| | | public String getCustomCodeSerialClassText() { |
| | | return customCodeSerialClassText; |
| | | } |
| | | |
| | | public void setCustomCodeSerialClassText(String customCodeSerialClassText) { |
| | | this.customCodeSerialClassText = customCodeSerialClassText; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeBasicSecDTO{" + |
| | |
| | | */ |
| | | private String customCodeSerialClass; |
| | | |
| | | |
| | | /** |
| | | * èªå®ä¹çæµæ°´ç®æ³ç±» |
| | | */ |
| | | private String customCodeSerialClassText; |
| | | |
| | | /** |
| | | * æ¯å¦èªå¨å¹é
åç±»å¼ |
| | | */ |
| | |
| | | private String customCodeSerialClass; |
| | | |
| | | /** |
| | | * èªå®ä¹çæµæ°´ç®æ³ç±» |
| | | */ |
| | | private String customCodeSerialClassText; |
| | | |
| | | /** |
| | | * æ¯å¦èªå¨å¹é
åç±»å¼ |
| | | */ |
| | | private String matchClassifyValueFlag; |
| | |
| | | package com.vci.ubcs.code.vo.pagemodel; |
| | | |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | |
| | | /** |
| | | * æµæ°´ç®æ³ç±»çæ¾ç¤ºä¿¡æ¯ |
| | | * @author weidy |
| | | * @date 2022-2-17 |
| | | */ |
| | | public class CodeSerialAlgorithmVO implements java.io.Serializable{ |
| | | public class CodeSerialAlgorithmVO extends BaseModel { |
| | | |
| | | /** |
| | | * ç®æ³ç¼å· |
| | |
| | | |
| | | import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | * è¾å
¥æç¤º |
| | | */ |
| | | private String inputTip; |
| | | /** |
| | | * å
¶å®å±æ§é½å¯ä»¥å¾é颿¾ |
| | | */ |
| | | private Map<String, String> addField = new HashMap<>(); |
| | | |
| | | public boolean isKeyAttr() { |
| | | return keyAttr; |
| | |
| | | this.selectLibFlag = selectLibFlag; |
| | | } |
| | | |
| | | public Map<String, String> getAddField() { |
| | | return addField; |
| | | } |
| | | |
| | | public void setAddField(Map<String, String> addField) { |
| | | this.addField = addField; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "UIFormItemVO{" + |
| | |
| | | |
| | | Map<Integer, String> rowDataMap = new HashMap(); |
| | | |
| | | for(int columnIndex = 0; columnIndex < rowDataSet.getLastCellNum(); ++columnIndex) { |
| | | for(int columnIndex = 0; columnIndex < sheetDataSet.getColName().size(); ++columnIndex) { |
| | | Cell cell = rowDataSet.getCell(columnIndex); |
| | | Object value = getCellValue(cell, evaluator); |
| | | String title = colsNameIndexMap.containsKey(columnIndex) ? (String)colsNameIndexMap.get(columnIndex) : ""; |
| | |
| | | } else { |
| | | rowDataMap.put(columnIndex, VciBaseUtil.getStringValueFromObject(value)); |
| | | } |
| | | } else if (!isDataSet && thisField != null && excelColumn != null) { |
| | | } else { |
| | | if (!isDataSet && thisField != null && excelColumn != null) { |
| | | if (!excelColumn.nullable()) { |
| | | throw new VciBaseException("cellValueCanNotNull", new String[]{title, rowIndex + 1 + ""}); |
| | | } |
| | |
| | | throw new VciBaseException("cellValueCanNotNullForReg", new String[]{title, rowIndex + 1 + ""}); |
| | | } |
| | | } |
| | | rowDataMap.put(columnIndex, VciBaseUtil.getStringValueFromObject(value)); |
| | | } |
| | | } |
| | | |
| | | if (isDataSet) { |
| | |
| | | |
| | | return sb.toString(); |
| | | } |
| | | public static String intToRomans(int num) { |
| | | public static String convertArabicToRoman(int num) { |
| | | int[] values={1000,900,500,400,100,90,50,40,10,9,5,4,1}; |
| | | String[] romans={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; |
| | | StringBuilder sb=new StringBuilder(); |
| | | for(int i=0;i<values.length;i++){ |
| | | while(num>=values[i]){ |
| | | num=num-values[i]; |
| | | sb.append(romans[i]); |
| | | } |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | /** |
| | | * æç½é©¬æ°å转æ¢ä¸ºé¿æä¼¯æ°å |
| | | * @param m |
| | | * @return |
| | | */ |
| | | public static int convertRomanToArabic(String m) { |
| | | int graph[] = new int[400]; |
| | | graph['I'] = 1; |
| | | graph['V'] = 5; |
| | | graph['X'] = 10; |
| | | graph['L'] = 50; |
| | | graph['C'] = 100; |
| | | graph['D'] = 500; |
| | | graph['M'] = 1000; |
| | | char[] num = m.toCharArray(); |
| | | int sum = graph[num[0]]; |
| | | for (int i = 0; i < num.length - 1; i++) { |
| | | if (graph[num[i]] >= graph[num[i + 1]]) { |
| | | sum += graph[num[i + 1]]; |
| | | } else { |
| | | sum = sum + graph[num[i + 1]] - 2 * graph[num[i]]; |
| | | } |
| | | } |
| | | return sum; |
| | | } |
| | | /*** |
| | | * æ ¡éªæ¯å¦æ¯ç½é©¬æ°å |
| | | * @param s |
| | | * @return |
| | | */ |
| | | public static boolean isRoman(String s) { |
| | | // æ£æ¥è¾å
¥çå符串æ¯å¦ä¸ºç©º |
| | | if (s == null || s.length() == 0) { |
| | | return false; |
| | | } |
| | | // å°è¾å
¥çå符串转æ¢ä¸ºå¤§å忝 |
| | | s = s.toUpperCase(); |
| | | // è¿åç»æ |
| | | Pattern pattern = Pattern.compile("^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$"); |
| | | return pattern.matcher(s ).matches(); |
| | | } |
| | | |
| | | public static String intToRomanTwo(int num) { |
| | | String M[] = {"", "M", "MM", "MMM"}; |
| | | String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; |
| | | String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.algorithm; |
| | | |
| | | import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; |
| | | import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | |
| | | import java.util.List; |
| | | |
| | | /**** |
| | | * èªå®ä¹ç½é©¬æµæ°´ç®æ³èªå®ä¹ç±» |
| | | */ |
| | | @MdmSerialAlgorithm(text = "èªå®ä¹ç½é©¬æµæ°´",description = "èªå®ä¹ç½é©¬æµæ°´ç®æ³") |
| | | public class CustomRomanSerialAlgorithmExample { |
| | | /** |
| | | * çæç½é©¬æµæ°´å·çæ¹æ³ |
| | | * @return æµæ°´å·çä¿¡æ¯ |
| | | */ |
| | | @MdmSerialAlgorithmMethod |
| | | public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){ |
| | | |
| | | |
| | | |
| | | |
| | | //å°æ°åæµæ°´è½¬ä¸ºç½é©¬æµæ°´ |
| | | String romanValue=VciBaseUtil.convertArabicToRoman(5); |
| | | //å°ç½é©¬æµæ°´è½¬ä¸ºæ°åæµæ°´ |
| | | int arabicValue=VciBaseUtil.convertRomanToArabic(romanValue); |
| | | return ""; |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.algorithm; |
| | | |
| | | import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; |
| | | import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æµæ°´ç®æ³çç¤ºä¾ |
| | | */ |
| | | @MdmSerialAlgorithm(text = "æµæ°´ç®æ³ç示ä¾",description = "请ä¸è¦ä½¿ç¨è¿ä¸ªç±»ï¼è¿ä¸ªç±»åªæ¯ç¤ºä¾ï¼ç¨äºæ¥çå¦ä½ç¼åæµæ°´ç®æ³") |
| | | public class CustomSerialAlgorithmExample { |
| | | |
| | | /** |
| | | * çææµæ°´å·çæ¹æ³ |
| | | * @return æµæ°´å·çä¿¡æ¯ |
| | | */ |
| | | @MdmSerialAlgorithmMethod |
| | | public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){ |
| | | return ""; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.annotation; |
| | | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | |
| | | /** |
| | | * èªå®ä¹æµæ°´ç®æ³ç注解 |
| | | * @author xiejun |
| | | * @date 2023-11-09 |
| | | */ |
| | | @Target({ElementType.TYPE}) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | @Component |
| | | public @interface MdmSerialAlgorithm { |
| | | |
| | | /** |
| | | * å¼ï¼å®é
å°±æ¯è¿ä¸ªæ³¨è§£æå¨çç±»çå
¨è·¯å¾ |
| | | * @return å¼ |
| | | */ |
| | | String value() default ""; |
| | | |
| | | /** |
| | | * äºä»¶çåç§° |
| | | * @return äºä»¶åç§° |
| | | */ |
| | | String text(); |
| | | |
| | | /** |
| | | * æè¿° |
| | | * @return æè¿° |
| | | */ |
| | | String description() default ""; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.annotation; |
| | | |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | |
| | | /** |
| | | * èªå®ä¹æµæ°´ç®æ³å¤çæ¹æ³ç注解 |
| | | * @author xiejun |
| | | * @date 2023-11-09 |
| | | */ |
| | | @Target({ElementType.METHOD}) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface MdmSerialAlgorithmMethod { |
| | | |
| | | /** |
| | | * å¼ |
| | | * @return å¼ |
| | | */ |
| | | String value() default ""; |
| | | |
| | | } |
| | |
| | | |
| | | /** |
| | | * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçå®ä¹ |
| | | * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»ä¸»é® |
| | | * @param map ä¼ çæ°æ® |
| | | * @return UIç¸å
³çä¿¡æ¯ï¼ä»
å
å«è¡¨åï¼ |
| | | */ |
| | | @GetMapping("/getFormDefineByTemplateOid") |
| | | public MdmUIInfoVO getFormDefineByTemplateOid(String codeClassifyOid){ |
| | | CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid); |
| | | return mdmEngineService.getFormDefineByTemplateOid(usedTemplateByClassifyOid.getOid(),codeClassifyOid); |
| | | @RequestMapping("/getFormDefineByTemplateOid") |
| | | public MdmUIInfoVO getFormDefineByTemplateOid(@RequestParam Map<String,String> map){ |
| | | // CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid); |
| | | CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(map.get("codeClassifyOid")); |
| | | MdmUIInfoVO formDefineByTemplate = mdmEngineService.getFormDefineByTemplateOid(usedTemplateByClassifyOid.getOid(), map.get("codeClassifyOid")); |
| | | for (UIFormItemVO item : formDefineByTemplate.getFormDefineVO().getItems()) { |
| | | if(map.get(item.getField()) != null){ |
| | | item.getAddField().put("defaultValue",map.get(item.getField())); |
| | | } |
| | | }return formDefineByTemplate; |
| | | } |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeAllCodeVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.vci.ubcs.code.service.ICodeSerialAlgorithmService; |
| | | |
| | | /** |
| | | * å
¨é¨ç å¼ æ§å¶å¨ |
| | | * |
| | | * @author ludc |
| | | * @since 2023-04-03 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("/codeSerialAlgorithmController") |
| | | @Api(value = "èªå®ä¹æµæ°´", tags = "èªå®ä¹æµæ°´ç®æ³") |
| | | public class CodeSerialAlgorithmController extends BladeController { |
| | | /** |
| | | * ç®æ³æå¡ |
| | | */ |
| | | @Autowired |
| | | private ICodeSerialAlgorithmService algorithmService; |
| | | |
| | | /** |
| | | * ç®æ³çå表 |
| | | * @return ç®æ³çä¿¡æ¯ |
| | | */ |
| | | @GetMapping("/gridCodeSerialAlgorithm") |
| | | public R<IPage<CodeSerialAlgorithmVO>> gridCodeSerialAlgorithm(){ |
| | | IPage<CodeSerialAlgorithmVO> pages= algorithmService.gridSerialAlgorithm(); |
| | | return R.data(pages); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; |
| | | import org.springblade.core.tool.api.R; |
| | | |
| | | /** |
| | | * æµæ°´ç®æ³ç±» |
| | | * @author weidy |
| | | * @date 2022-2-17 |
| | | */ |
| | | public interface ICodeSerialAlgorithmService { |
| | | |
| | | /** |
| | | * è·åæµæ°´ç®æ³çå表 |
| | | * @return æµæ°´ç®æ³çä¿¡æ¯ |
| | | */ |
| | | IPage<CodeSerialAlgorithmVO> gridSerialAlgorithm(); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; |
| | | import com.vci.ubcs.code.service.ICodeSerialAlgorithmService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; |
| | | import com.vci.ubcs.starter.web.util.ApplicationContextProvider; |
| | | 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.springframework.aop.framework.Advised; |
| | | import org.springframework.aop.support.AopUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æµæ°´ç®æ³çæå¡ |
| | | * @author weidy |
| | | * @date 2022-2-17 |
| | | */ |
| | | @Service |
| | | public class CodeSerialAlgorithmServiceImpl implements ICodeSerialAlgorithmService { |
| | | /** |
| | | * è·åæµæ°´ç®æ³çå表 |
| | | * |
| | | * @return æµæ°´ç®æ³çä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public IPage<CodeSerialAlgorithmVO> gridSerialAlgorithm() { |
| | | //使ç¨ä¸»é®å»æ«æ |
| | | String[] beanNames = ApplicationContextProvider.getApplicationContext().getBeanNamesForAnnotation(MdmSerialAlgorithm.class); |
| | | List<CodeSerialAlgorithmVO> voList = new ArrayList<>(); |
| | | if(beanNames!=null && beanNames.length>0){ |
| | | for(String beanName : beanNames){ |
| | | Object bean = ApplicationContextProvider.getApplicationContext().getBean(beanName); |
| | | if(bean!=null){ |
| | | CodeSerialAlgorithmVO algorithmVO = new CodeSerialAlgorithmVO(); |
| | | //Advised advised = (Advised)bean; |
| | | Class<?> targetClass = AopUtils.getTargetClass(bean); |
| | | //Class<?> targetClass = advised.getTargetSource().getTargetClass(); |
| | | algorithmVO.setClassFullName(targetClass.getName()); |
| | | MdmSerialAlgorithm serialAlgorithm = targetClass.getDeclaredAnnotation(MdmSerialAlgorithm.class); |
| | | if(serialAlgorithm==null){ |
| | | serialAlgorithm = targetClass.getAnnotation(MdmSerialAlgorithm.class); |
| | | } |
| | | if(serialAlgorithm !=null) { |
| | | algorithmVO.setName(serialAlgorithm.text()); |
| | | algorithmVO.setDescription(serialAlgorithm.description()); |
| | | algorithmVO.setId(serialAlgorithm.value()); |
| | | if(StringUtils.isBlank(algorithmVO.getId())){ |
| | | algorithmVO.setId(beanName); |
| | | } |
| | | voList.add(algorithmVO); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | Query query=new Query(); |
| | | IPage<CodeSerialAlgorithmVO> queryIPage =Condition.getPage(query); |
| | | queryIPage.setRecords(voList); |
| | | return queryIPage; |
| | | } |
| | | } |
| | |
| | | <result property="codeFillLimit" column="CODEFILLLIMIT" jdbcType="INTEGER"/> |
| | | <result property="codeFillFlag" column="CODEFILLFLAG" jdbcType="VARCHAR"/> |
| | | <result property="customCodeSerialClass" column="CUSTOMCODESERIALCLASS" jdbcType="VARCHAR"/> |
| | | <result property="customCodeSerialClassText" column="CUSTOMCODESERIALCLASSTEXT" jdbcType="VARCHAR"/> |
| | | <result property="matchClassifyValueFlag" column="MATCHCLASSIFYVALUEFLAG" jdbcType="VARCHAR"/> |
| | | <result property="parentClassifySecOid" column="PARENTCLASSIFYSECOID" jdbcType="VARCHAR"/> |
| | | <result property="parentClassifySecText" column="b__name" jdbcType="VARCHAR"/> |
| | |
| | | PL_CODE_BASICSEC.codelevelvalue, |
| | | PL_CODE_BASICSEC.codefilllength, |
| | | PL_CODE_BASICSEC.customcodeserialclass, |
| | | PL_CODE_BASICSEC.customCodeSerialClassText, |
| | | PL_CODE_BASICSEC.matchclassifyvalueflag, |
| | | PL_CODE_BASICSEC.sectype, |
| | | PL_CODE_BASICSEC.pkcoderule, |