| | |
| | | <project version="4"> |
| | | <component name="ChangeListManager"> |
| | | <list default="true" id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="å¢å æ åç
§ç»ä»¶"> |
| | | <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/api/refer/tree.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeRuleVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeRuleVO.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyVO.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java" afterDir="false" /> |
| | | </list> |
| | | <option name="SHOW_DIALOG" value="false" /> |
| | | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
| | |
| | | <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> |
| | | <property name="WebServerToolWindowFactoryState" value="false" /> |
| | | <property name="aspect.path.notification.shown" value="true" /> |
| | | <property name="last_opened_file_path" value="$PROJECT_DIR$/Source/UBCS" /> |
| | | <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> |
| | | <property name="nodejs_npm_path_reset_for_default_project" value="true" /> |
| | | <property name="project.structure.last.edited" value="Project" /> |
| | | <property name="project.structure.proportion" value="0.0" /> |
| | | <property name="project.structure.side.proportion" value="0.0" /> |
| | | </component> |
| | | <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> |
| | | <component name="TaskManager"> |
| | | <task active="true" id="Default" summary="Default task"> |
| | | <changelist id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="" /> |
| | |
| | | <option name="presentableId" value="Default" /> |
| | | <updated>1679912923408</updated> |
| | | <workItem from="1679912925465" duration="56000" /> |
| | | <workItem from="1688456866976" duration="772000" /> |
| | | </task> |
| | | <servers /> |
| | | </component> |
| | | <component name="TypeScriptGeneratedFilesManager"> |
| | | <option name="version" value="3" /> |
| | | </component> |
| | | <component name="VcsManagerConfiguration"> |
| | | <MESSAGE value="å¢å æ åç
§ç»ä»¶" /> |
| | | <option name="LAST_COMMIT_MESSAGE" value="å¢å æ åç
§ç»ä»¶" /> |
| | |
| | | JavaType type = writer.getType(); |
| | | Class<?> clazz = type.getRawClass(); |
| | | if (type.isTypeOrSubTypeOf(Number.class)) { |
| | | writer.assignNullSerializer(NullJsonSerializers.NUMBER_JSON_SERIALIZER); |
| | | // writer.assignNullSerializer(NullJsonSerializers.NUMBER_JSON_SERIALIZER); |
| | | } else if (type.isTypeOrSubTypeOf(Boolean.class)) { |
| | | writer.assignNullSerializer(NullJsonSerializers.BOOLEAN_JSON_SERIALIZER); |
| | | } else if (type.isTypeOrSubTypeOf(Character.class)) { |
| | |
| | | append-to-body
|
| | | top="5vh"
|
| | | >
|
| | | <div>
|
| | | <!-- <div>
|
| | | <FormTemplate
|
| | | v-if="type === 'batchApplyCode'"
|
| | | type="add"
|
| | |
| | | @getFormData="getCodeApplyFormData"
|
| | | @referConfigDataUpdate="referConfigDataUpdate"
|
| | | ></FormTemplate>
|
| | | </div>
|
| | | </div> -->
|
| | | <div class="flex_box">
|
| | | <div class="left" :style="{ width: leftWidth + 'px' }">
|
| | | <div class="left" :style="{ width: leftWidth + 'px' }" v-show="false">
|
| | | <div class="isExpand_box">
|
| | | <el-link type="primary" @click="hideTree">
|
| | | <i
|
| | |
| | | </el-table-column>
|
| | | </el-table>
|
| | | <div v-else style="height: 400px"></div>
|
| | | </el-tab-pane>
|
| | | <el-tab-pane :label="tab2Name" name="tab2">
|
| | | <el-table border :data="tab2Table" height="400px">
|
| | | <el-table-column
|
| | | v-for="item in cloNamesList"
|
| | | :key="item.field"
|
| | | :prop="item.field"
|
| | | :label="item.title"
|
| | | :width="item.width"
|
| | | align="center"
|
| | | >
|
| | | </el-table-column>
|
| | | </el-table>
|
| | | </el-tab-pane>
|
| | | </el-tabs>
|
| | | </div>
|
| | | <div>
|
| | | <div>
|
| | | <el-table
|
| | | border
|
| | | :data="currentSelectedResemble"
|
| | |
| | | ></el-table-column>
|
| | | </el-table>
|
| | | </div>
|
| | | </el-tab-pane>
|
| | | <el-tab-pane :label="tab2Name" name="tab2">
|
| | | <el-table border :data="tab2Table" height="600px">
|
| | | <el-table-column
|
| | | v-for="item in cloNamesList"
|
| | | :key="item.field"
|
| | | :prop="item.field"
|
| | | :label="item.title"
|
| | | :width="item.width"
|
| | | align="center"
|
| | | >
|
| | | </el-table-column>
|
| | | </el-table>
|
| | | </el-tab-pane>
|
| | | </el-tabs>
|
| | | </div>
|
| | | |
| | | </div>
|
| | | </div>
|
| | | <template #footer>
|
| | |
| | | export default {
|
| | | name: "ShowImportData",
|
| | | components: { ResembleQuery, FormTemplate },
|
| | | mixins: [codeApply],
|
| | | // mixins: [codeApply],
|
| | | props: {
|
| | | title: {
|
| | | type: String,
|
| | |
| | | type: String,
|
| | | default: "",
|
| | | },
|
| | | type: String,
|
| | | secDTOList: {
|
| | | type: Array,
|
| | | default: () => ({})
|
| | | }
|
| | | },
|
| | | computed: {
|
| | | dialogVisible: {
|
| | |
| | | },
|
| | | submit() {
|
| | | const params = {
|
| | | classifyAttr: this.classifyAttr,
|
| | | improt: true,
|
| | | classifyAttr: this.type === 'historyImport' ? this.classifyAttr : undefined,
|
| | | improt: this.type === 'historyImport' ? true : false,
|
| | | codeImprotSaveDatVOList: [
|
| | | {
|
| | | Clos: this.cloNamesList.map((item) => item.title),
|
| | |
| | | orderDTO: {
|
| | | codeClassifyOid: this.codeClassifyOid,
|
| | | templateOid: this.templateOid,
|
| | | secDTOList: [],
|
| | | secDTOList: this.secDTOList,
|
| | | },
|
| | | },
|
| | | ],
|
| | |
| | | filterText(val) {
|
| | | this.$refs.tree.filter(val);
|
| | | },
|
| | | leftTree: {
|
| | | immediate: true,
|
| | | deep: true,
|
| | | handler(arr) {
|
| | | if (arr.length > 0 && this.type === 'batchImportApply') {
|
| | | this.treeNodeClick(arr[0])
|
| | | this.leftWidth = 0
|
| | | }
|
| | | }
|
| | | }
|
| | | },
|
| | | };
|
| | | </script>
|
| | |
| | | :on-exceed="handleExceed"
|
| | | :headers="uploadHeaders"
|
| | | :on-success="onSuccess"
|
| | | :on-error="onError"
|
| | | :show-file-list="false"
|
| | | :on-change="uploadChange"
|
| | | :data="upParams"
|
| | |
| | | :codeClassifyOid="codeClassifyOid"
|
| | | :redisOid="redisOid"
|
| | | :type="type"
|
| | | :title="title"
|
| | | :secDTOList="secDTOList"
|
| | | ></ShowImportData>
|
| | | </el-dialog>
|
| | | </template>
|
| | |
| | | return this.currentTypeObj[this.type]["tipList"];
|
| | | },
|
| | | downloadTemplateApi() {
|
| | | console.log(this.currentTypeObj[this.type], 'this.type');
|
| | | console.log(this.currentTypeObj[this.type], "this.type");
|
| | | return this.currentTypeObj[this.type]["downloadTemplateFun"];
|
| | | },
|
| | | action() {
|
| | |
| | | classifyAttr: this.classifyAttr,
|
| | | };
|
| | | } else if (this.type === "batchImportApply") {
|
| | | // eslint-disable-next-line vue/no-side-effects-in-computed-properties
|
| | | this.secDTOList = this.localSecVOList.map((item) => {
|
| | | return {
|
| | | secOid: item.oid,
|
| | | secValue: this.codeApplyForm[item.id],
|
| | | };
|
| | | });
|
| | | return {
|
| | | codeClassifyOid: this.codeClassifyOid,
|
| | | secDTOList: this.secDTOList,
|
| | | secDTOList: JSON.stringify(this.secDTOList),
|
| | | ...this.codeApplyForm,
|
| | | };
|
| | | } else if (this.type === "batchApplyCode") {
|
| | |
| | | leftTree: [],
|
| | | redisOid: "",
|
| | | pageLoading: null,
|
| | | showCodeApply: false,
|
| | | currentTypeObj: {
|
| | | historyImport: {
|
| | | title: "å岿°æ®å¯¼å
¥",
|
| | |
| | | upParams: "classifyAttr",
|
| | | },
|
| | | },
|
| | | secDTOList: [],
|
| | | };
|
| | | },
|
| | | methods: {
|
| | | async beforeUpload(file) {
|
| | | console.log(file, 'file');
|
| | | const fileType = file.name.split(".").pop();
|
| | | if (fileType !== "xlsx" && fileType !== "xls") {
|
| | | // ä¸ä¼ æ ¼å¼ä¸ç¬¦åè¦æ±ï¼æç¤ºé误信æ¯å¹¶åæ¶ä¸ä¼
|
| | | this.$message.error("åªå
许ä¸ä¼ xlsxãxlsæ ¼å¼çæä»¶");
|
| | | return Promise.reject(false);
|
| | | }
|
| | | if (this.type === "batchImportApply") {
|
| | | const flag = await this.$refs.CodeApply.validate();
|
| | | if (!flag) {
|
| | | return Promise.reject(false);
|
| | | }
|
| | | if (this.type === "batchImportApply" && this.showCodeApply) {
|
| | | // const flag = await this.$refs.CodeApply.validate();
|
| | | // if (!flag) {
|
| | | // return Promise.reject(false);
|
| | | // }
|
| | | }
|
| | | this.pageLoading = this.$loading({
|
| | | lock: true,
|
| | |
| | | },
|
| | | onSuccess(res) {
|
| | | if (Object.keys(res.data).length === 0) {
|
| | | this.$message.success(this.title + '导å
¥æåï¼')
|
| | | this.dialogVisible = false
|
| | | return
|
| | | this.$message.success(this.title + "导å
¥æåï¼");
|
| | | this.dialogVisible = false;
|
| | | return;
|
| | | }
|
| | | let fileName = res.data.filePath.split("/").pop();
|
| | | if (res.data.fileOid) {
|
| | | const fileName = res.data.filePath.split("/").pop();
|
| | | this.$message.error("请ä¸è½½éè¯¯ä¿¡æ¯æä»¶è¿è¡æ¥çï¼");
|
| | | downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => {
|
| | | this.$utilFunc.downloadFileByBlob(res2.data, fileName);
|
| | |
| | | });
|
| | | }
|
| | | },
|
| | | onError(err) {
|
| | | console.log(err, "err");
|
| | | this.pageLoading.close();
|
| | | },
|
| | | uploadChange(file) {
|
| | | console.log(file, 'file', file.status === "success");
|
| | | if (file.status === "success" || file.status === "error") {
|
| | | this.pageLoading.close();
|
| | | }
|
| | |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | :sortable="item.sortable" |
| | | :formatter="formatBoolean" |
| | | :formatter="item.formatter" |
| | | :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'" |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | |
| | | import SetPersonnel from "@/components/template/SetPersonnel"; |
| | | import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue"; |
| | | import BatchImport from '@/components/BatchImport' |
| | | import { validatenull } from "@/util/validate"; |
| | | export default { |
| | | components: { |
| | | integrationTransfer, |
| | |
| | | }, |
| | | tableHeadFindData: { |
| | | handler(newval, oldval) { |
| | | newval.forEach((record,_index) =>{ |
| | | if(record.field == 'id' && validatenull(record.templet)){ |
| | | //ä¼ä¸ç¼ç çé»è®¤æ·»å è¶
龿¥,ææªå®ç° |
| | | record.formatter = ''; |
| | | }else { |
| | | if (record.templet && typeof (record.templet) == 'string' && !validatenull(record.templet) && record.templet.indexOf("function(row,column)")>-1) { |
| | | record.formatter = eval("(" + record.templet + ")"); |
| | | //function(row,column){return row[column.property]=='true' || row[column.property]=='1'?'æ¯':'å¦'} |
| | | }else if(record.fieldType=="truefalse"){ |
| | | record.formatter = function(row,column){return row[column.property]=='true' || row[column.property]=='1'?'æ¯':'å¦'} |
| | | } |
| | | } |
| | | }) |
| | | this.tableHeadFindDatas = newval; |
| | | }, |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | // è½¬æ¢æ°æ®trueåfalse |
| | | formatBoolean(row, column) { |
| | | if (column.property === "xiaoshouwl" |
| | | ||column.property === "shifoupihaoguanli" |
| | | ||column.property === "caigouwl" |
| | | ||column.property === "kucunwl" |
| | | ||column.property === "passing") { |
| | | return row[column.property] =='true'? "æ¯" : "å¦"; |
| | | } |
| | | return row[column.property]; |
| | | }, |
| | | // åå¸ |
| | | setHandler() { |
| | | if (this.selectRow.length <= 0) { |
| | |
| | | this.$message.warning("ç¼ç ç¶æä¸æ¯âç¼è¾ä¸â,ä¸å¯ç¼è¾"); |
| | | } else { |
| | | this.editvisible = true; |
| | | this.rowOid = this.selectRow[0]['oid'] |
| | | } |
| | | }, |
| | | //é«çº§æ¥è¯¢æé® |
| | |
| | | <template> |
| | | <div> |
| | | <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"> |
| | | <el-button-group> |
| | | <!--æ°å¢--> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" |
| | | @click="busineHandle">ï¼ æ·»å {{ msg }} |
| | | </el-button> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">æ·»å {{ msg }}</el-button> |
| | | <!-- å
¨å±ç¼è¾--> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle"> |
| | | å
¨å±ç¼è¾ |
| | | </el-button> |
| | | <!-- ç»åè§å--> |
| | | <el-button size="small" @click="isShowHandler">ç»åè§å</el-button> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">å
¨å±ç¼è¾</el-button> |
| | | <!-- éªè¯è§å--> |
| | | <el-button icon="el-icon-info" size="small" @click="rulesVisible=true">éªè¯è§å</el-button> |
| | | <!-- 屿§åç»--> |
| | | <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">屿§åç»</el-button> |
| | | <!-- å类注å
¥--> |
| | | <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">å类注å
¥</el-button> |
| | | <!-- æä¸¾æ³¨å
¥--> |
| | | <el-button size="small" @click="enmuVisHandle">æä¸¾æ³¨å
¥</el-button> |
| | | <!-- 级è屿§--> |
| | | <el-button size="small" @click="CascadeHandle">级è屿§</el-button> |
| | | <!-- é¢è§æåº--> |
| | | <el-button size="small">é¢è§æåº</el-button> |
| | | </el-button-group> |
| | | <el-button-group> |
| | | <!-- å类注å
¥--> |
| | | <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">å类注å
¥</el-button> |
| | | <!-- ç»åè§å--> |
| | | <el-button size="small" @click="isShowHandler">ç»åè§å</el-button> |
| | | <!-- æä¸¾æ³¨å
¥--> |
| | | <el-button size="small" @click="enmuVisHandle">æä¸¾æ³¨å
¥</el-button> |
| | | <!-- 级è屿§--> |
| | | <el-button size="small" @click="CascadeHandle">级è屿§</el-button> |
| | | <!-- é¢è§æåº--> |
| | | <el-button size="small" icon="el-icon-arrow-down">é¢è§æåº</el-button> |
| | | </el-button-group> |
| | | <!-- ä¿å--> |
| | | <el-button size="small" @click="addsHandler">ä¿å</el-button> |
| | | <el-button size="small" @click="addsHandler" icon="el-icon-check">ä¿å</el-button> |
| | | <!-- å é¤--> |
| | | <el-button size="small" @click="CrudRemove">å é¤</el-button> |
| | | <el-button size="small" @click="CrudRemove" icon="el-icon-delete">å é¤</el-button> |
| | | <!-- éç½®--> |
| | | <el-button size="small" @click="reset">éç½®</el-button> |
| | | <el-button size="small" @click="reset" icon="el-icon-refresh-right">éç½®</el-button> |
| | | <!-- 忥å°å
¶ä»æ¨¡æ¿--> |
| | | <el-button size="small" @click="syncHandle">忥å°å
¶ä»æ¨¡æ¿</el-button> |
| | | <!-- ç¼ç ç³è¯·é¢è§--> |
| | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="æä½" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="small" type="text" @click.native.prevent="enumDeleteRow(scope.$index, tableData)"> |
| | | <el-button size="small" type="text" plain @click="enumDeleteRow"> |
| | | ç§»é¤ |
| | | </el-button> |
| | | </template> |
| | |
| | | ></formula-editor> |
| | | <!-- æ°å¢ --> |
| | | <el-dialog :visible.sync="addVisible" append-to-body title="ä»ä¸å¡ç±»åä¸éæ©å±æ§"> |
| | | <avue-crud :data="businessData" :option="businessOption" @select="businessSelect"> |
| | | <avue-crud :data="businessData" :option="businessOption" @selection-change="businessSelect"> |
| | | <template slot="menuLeft"> |
| | | <div style="display: flex;"> |
| | | <el-select> |
| | |
| | | </avue-crud> |
| | | <div style="display: flex;justify-content: flex-end;margin-top: 15px"> |
| | | <el-button size="small" type="primary" @click="busineAddHandle">ä¿å</el-button> |
| | | <el-button size="small" type="primary">åæ¶</el-button> |
| | | <el-button size="small" type="primary" @click="addVisible=false">åæ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | style="width: 100%" |
| | | @cell-click="handleCellClicks" |
| | | @select="selectHandle" |
| | | @selection-change="selectionChange" |
| | | v-if="this.crudArrayFlag" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column fixed label="åºå·" type="index" width="55"></el-table-column> |
| | | <!--<el-table-column fixed label="åºå·" type="index" width="55"></el-table-column>--> |
| | | <el-table-column v-for="item in this.option.column" :key="item.id" |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | :formatter="formAttr" |
| | | :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'" |
| | | :width="item.width||(item.label.length >=4 ?'150':item.label.length==3 ?'120':'90')" |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <el-input v-if="editingRows === row && editShows== item.prop" v-model="row[item.prop]" |
| | | <el-input v-if="editingRows === row && editShows== item.prop && (item.edit == 'text' || item.edit == 'select' ||item.edit == 'refer')" v-model="row[item.prop]" |
| | | @blur="saveRows"></el-input> |
| | | <el-input-number controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]" |
| | | @blur="saveRows"></el-input-number> |
| | | <el-switch |
| | | v-if="item.label === 'true' || item.label === 'false'" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949"> |
| | | v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" |
| | | inactive-value="false"> |
| | | </el-switch> |
| | | <span v-else>{{ row[item.prop] }}</span> |
| | | </template> |
| | |
| | | }, |
| | | // ç¼ç ç³è¯·é¢è§data |
| | | applicationData: [], |
| | | //ä¸å¡ç±»ååéæ°ç» |
| | | //ä¸å¡ç±»åéæ©æ°ç» |
| | | busineSelectList: [], |
| | | //ä¸å¡ç±»åæ·»å æ°æ® |
| | | busineAddList: {}, |
| | | //è¡¨æ ¼åéæ°ç» |
| | | CrudSelect: [], |
| | | attrSelectList: [], |
| | | //è¡¨æ ¼oid |
| | | CrudOid: "", |
| | | attrOid: "", |
| | | //åºæ¯åé |
| | | thisSceneTableData: [ |
| | | { |
| | |
| | | }, |
| | | { |
| | | label: "æ°æ®ç±»å", |
| | | prop: "attrDataType" |
| | | prop: "attrDataType", |
| | | formatter:function(row,column){ |
| | | let vciFieldTypeMap = { |
| | | VTBoolean: "å¸å°å", |
| | | VTClob: "é¿ææ¬", |
| | | VTDate: "æ¥æ", |
| | | VTDateTime: "æ¥ææ¶é´", |
| | | VTTime: "æ¶é´", |
| | | VTLong: "é¿æ´å", |
| | | VTDouble: "éé¢/å精度", |
| | | VTInteger: "æ´å½¢", |
| | | VTFilePath: "æä»¶", |
| | | VTString: "å符串" |
| | | } |
| | | return vciFieldTypeMap[row.attrDataType]; |
| | | } |
| | | }, |
| | | { |
| | | label: "å¯ç©º", |
| | | prop: "nullableFlag" |
| | | prop: "nullableFlag", |
| | | formatter:function(row,column){return row.nullableFlag=='true' || row.nullableFlag=='1'?'æ¯':'å¦'} |
| | | }, |
| | | { |
| | | label: "é»è®¤å¼", |
| | |
| | | }, |
| | | { |
| | | label: "åç
§", |
| | | prop: "referFlag" |
| | | prop: "referFlag", |
| | | formatter: function (d) { |
| | | if (!d.referFlag) { |
| | | return ''; |
| | | } else { |
| | | return d.referBtmTypeId |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: "æä¸¾", |
| | | prop: "enumFlag" |
| | | prop: "enumFlag", |
| | | formatter: function (d) { |
| | | if (!d.enumFlag) { |
| | | return ''; |
| | | } else { |
| | | return d.enumId |
| | | } |
| | | } |
| | | }, |
| | | ] |
| | | }, |
| | |
| | | rowCellList: [], |
| | | List: [], |
| | | option: { |
| | | index: true, |
| | | index: false, |
| | | border: true, |
| | | editBtn: false, |
| | | selection: true, |
| | |
| | | prop: 'name', |
| | | order: 'descending' |
| | | }, |
| | | column: [ |
| | | { |
| | | column: [{ |
| | | prop: 'orderNum', |
| | | label: 'æåºå·', |
| | | sortable: true, |
| | | edit: 'number', |
| | | width: 70, |
| | | fixed: true |
| | | }, { |
| | | label: "屿§è±æç¼å·", |
| | | prop: "id", |
| | | fixed: true, |
| | |
| | | fixed: true, |
| | | cell: false, |
| | | width: 125, |
| | | edit: 'text', |
| | | sortable: true |
| | | }, |
| | | { |
| | |
| | | prop: "attributeGroup", |
| | | cell: false, |
| | | sortable: true, |
| | | edit: 'text', |
| | | width: 125, |
| | | }, |
| | | { |
| | |
| | | cell: false, |
| | | sortable: true, |
| | | width: 105, |
| | | edit: 'number' |
| | | }, |
| | | { |
| | | label: "å
³é®å±æ§", |
| | | prop: "keyAttrFlag", |
| | | cell: false, |
| | | type: "switch", |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "æ¥è¯¢å±æ§", |
| | | prop: "queryAttrFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "é«çº§æ¥è¯¢å±æ§", |
| | | prop: "seniorQueryAttrFlag", |
| | | width: 95, |
| | | width: 110, |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "ç¸ä¼¼æ¥è¯¢å±æ§", |
| | | label: "ç¸ä¼¼æ¥é屿§", |
| | | prop: "sameRepeatAttrFlag", |
| | | width: 95, |
| | | width: 110, |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "å¿
è¾", |
| | | prop: "requireFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "è¡¨åæ¾ç¤º", |
| | | prop: "formDisplayFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "å表æ¾ç¤º", |
| | | prop: "tableDisplayFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "åªè¯»", |
| | | prop: "readonlyFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "å表æåº", |
| | | prop: "sortAttrFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | |
| | | { |
| | | label: "å¤è¡ææ¬", |
| | | prop: "textareaFlag", |
| | | cell: false, |
| | | edit: "switch" |
| | | }, |
| | | { |
| | | label: "é»è®¤å¼", |
| | | prop: "defaultValue", |
| | | sortable: true, |
| | | cell: false, |
| | | edit: 'text', |
| | | width: 95, |
| | | }, |
| | | { |
| | | label: "åç¼", |
| | | prop: "prefixValue", |
| | | sortable: true, |
| | | edit: 'select', |
| | | cell: false, |
| | | }, |
| | | { |
| | | label: "åç¼", |
| | | prop: "suffixValue", |
| | | sortable: true, |
| | | edit: 'select', |
| | | cell: false, |
| | | }, |
| | | { |
| | |
| | | prop: "componentRule", |
| | | sortable: true, |
| | | cell: false, |
| | | edit: 'refer', |
| | | width: 105, |
| | | }, |
| | | { |
| | |
| | | prop: "verifyRule", |
| | | sortable: true, |
| | | cell: false, |
| | | edit: 'refer', |
| | | width: 105, |
| | | }, |
| | | { |
| | |
| | | prop: "codeDateFormat", |
| | | sortable: true, |
| | | width: 105, |
| | | edit: 'select', |
| | | cell: false, |
| | | }, |
| | | { |
| | | label: "å类注å
¥", |
| | | prop: "classifyInvokeLevel", |
| | | cell: false, |
| | | edit: 'refer' |
| | | }, |
| | | { |
| | | label: "æä¸¾æ³¨å
¥", |
| | | prop: "enumString", |
| | | cell: false, |
| | | edit: 'refer' |
| | | }, |
| | | { |
| | | label: "级è屿§", |
| | | prop: "parentCode", |
| | | cell: false, |
| | | edit: 'refer' |
| | | }, |
| | | { |
| | | label: "åç
§é
ç½®", |
| | | prop: "referConfig", |
| | | cell: false, |
| | | edit: 'refer' |
| | | }, |
| | | { |
| | | label: "çº§èæ¥è¯¢å±æ§", |
| | | prop: "parentQueryAttr", |
| | | width: 105, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "éæ©åºæ è¯", |
| | | prop: "libraryIdentification", |
| | | width: 105, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "å¡«åæç¤º", |
| | | prop: "explain", |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "è¡¨åæ¾ç¤ºæ ·å¼", |
| | | prop: "formDisplayStyle", |
| | | width: 105, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "è¡¨æ ¼æ¾ç¤ºæ ·å¼", |
| | | prop: "tableDisplayStyle", |
| | | width: 105, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "表åè¶
龿¥", |
| | | prop: "formHref", |
| | | width: 95, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "è¡¨æ ¼è¶
龿¥", |
| | | prop: "tableHref", |
| | | width: 95, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "è¡¨æ ¼æ¾ç¤ºjs", |
| | | prop: "tableDisplayJs", |
| | | width: 95, |
| | | cell: false, |
| | | edit: 'text' |
| | | }, |
| | | { |
| | | label: "é¿åº¦", |
| | | prop: "controlLength", |
| | | cell: false, |
| | | cell: false |
| | | }, |
| | | { |
| | | label: "å°æ°ç²¾åº¦", |
| | | prop: "precisionLength", |
| | | cell: false, |
| | | cell: false |
| | | }, |
| | | { |
| | | label: "åå¼èå´", |
| | |
| | | sortable: true, |
| | | cell: false, |
| | | width: 105, |
| | | edit: 'text' |
| | | }, |
| | | ], |
| | | List: [] |
| | | }, |
| | | vciFieldTypeMap : { |
| | | VTBoolean: "å¸å°å", |
| | | VTClob: "é¿ææ¬", |
| | | VTDate: "æ¥æ", |
| | | VTDateTime: "æ¥ææ¶é´", |
| | | VTTime: "æ¶é´", |
| | | VTLong: "é¿æ´å", |
| | | VTDouble: "éé¢/å精度", |
| | | VTInteger: "æ´å½¢", |
| | | VTFilePath: "æä»¶", |
| | | VTString: "å符串" |
| | | } |
| | | } |
| | | }, |
| | | computed:{ |
| | | attrOids() { |
| | | let oids = []; |
| | | this.attrSelectList.forEach(ele => { |
| | | oids.push(ele.oid); |
| | | }); |
| | | return oids.join(","); |
| | | }, |
| | | busineOids() { |
| | | let oids = []; |
| | | this.busineSelectList.forEach(ele => { |
| | | oids.push(ele.oid); |
| | | }); |
| | | return oids.join(","); |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | }, |
| | | //屿§åç»æé® |
| | | attrVisibleHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect < 1) { |
| | | } else if (this.attrSelectList < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.attrVisible = true; |
| | | } |
| | | }, |
| | |
| | | }, |
| | | //ä¸å¡ç±»åä¿å |
| | | busineAddHandle() { |
| | | this.$set(this.busineAddList, 'classifytemplateoid', this.crudOid) |
| | | this.$set(this.busineAddList, 'oid', '') |
| | | this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) |
| | | if (this.busineSelectList.length == 0) { |
| | | this.$message.warning('è¯·éæ©å±æ§é'); |
| | | return false; |
| | | } |
| | | let ordernum = this.ProData.length; |
| | | this.busineSelectList.forEach((citem) => { |
| | | let isCopy = false; |
| | | this.ProData.forEach((item) => { |
| | | if (citem.id == item.id) { |
| | | isCopy = true; |
| | | return false; |
| | | } |
| | | }) |
| | | if (!isCopy) { |
| | | citem.oid = '' |
| | | this.busineAddList=Object.assign(citem, { |
| | | orderNum: ++ordernum, |
| | | attributedatatype: citem.attrDataType, |
| | | attributeDataTypeText: this.vciFieldTypeMap[citem.attrDataType], |
| | | controlLength: citem.attributeLength, |
| | | valueArea: citem.range, |
| | | referbtmid: citem.referBtmTypeId, |
| | | referbtmname: citem.referBtmTypeName, |
| | | referConfig: '', |
| | | enumid: citem.enumId, |
| | | precisionLength: (citem.precisionLength ? citem.precisionLength : '') + (citem.scaleLength ? '(' + citem.scaleLength + ')' : ''), |
| | | classifyTemplateOid: this.crudOid, |
| | | classifytemplateoid: this.crudOid, |
| | | formDisplayFlag: true, |
| | | tableDisplayFlag: true, |
| | | sortAttrFlag: false, |
| | | queryAttrFlag: true, |
| | | seniorQueryAttrFlag: true, |
| | | attrTableWidth: 120 |
| | | }) |
| | | this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) |
| | | } |
| | | }) |
| | | this.addVisible = false; |
| | | |
| | | }, |
| | | //ä¸å¡ç±»ååé |
| | | //ä¸å¡ç±»åéæ© |
| | | businessSelect(selection, row) { |
| | | this.busineSelectList = selection |
| | | this.busineAddList = row |
| | | }, |
| | | // ä»ä¸å¡ç±»åä¸éæ©æ°æ® |
| | | // ä»ä¸å¡ç±»åä¸éæ©æ°æ®å¼¹çª |
| | | busineHandle() { |
| | | this.addVisible = true; |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => { |
| | | this.businessData = res.data.data; |
| | | }) |
| | | this.addVisible = true; |
| | | this.busineSelectList = [] |
| | | this.busineAddList = []; |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => { |
| | | this.businessData = res.data.data; |
| | | }) |
| | | }, |
| | | // 级è屿§æé® |
| | | CascadeHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect.length < 1) { |
| | | } else if (this.attrSelectList.length < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.CascadeVisible = true; |
| | | gridCodeClassifyTemplateAttr({ |
| | | 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, |
| | | 'conditionMap[oid_notequal]': this.CrudOid |
| | | 'conditionMap[oid_notequal]': this.attrOid |
| | | }).then(res => { |
| | | this.CascadeData = res.data.data; |
| | | }) |
| | |
| | | }, |
| | | //è¡¨æ ¼åé |
| | | selectHandle(selection, row) { |
| | | this.CrudOid = row.oid; |
| | | this.CrudSelect = selection; |
| | | this.attrOid = row.oid; |
| | | this.attrRow = row; |
| | | console.log('123',row,selection) |
| | | }, |
| | | //è¡¨æ ¼éæ© |
| | | selectionChange(list) { |
| | | this.attrSelectList = list; |
| | | }, |
| | | //ä¿å |
| | | addsHandler() { |
| | |
| | | }, |
| | | //è¡¨æ ¼è¡ç¼è¾ |
| | | handleCellClicks(row, column) { |
| | | this.editingRows = row; |
| | | this.editShows = column.property; |
| | | this.rowOid = row.oid; |
| | | this.editingRows = row; |
| | | this.editShows = column.property; |
| | | this.rowOid = row.oid; |
| | | }, |
| | | saveRows() { |
| | | this.editingRows = null; |
| | |
| | | }, |
| | | //æä¸¾æ³¨å
¥å é¤ |
| | | enumDeleteRow(row) { |
| | | this.tableData.splice(row, 1) |
| | | this.tableData.splice(row.$index, 1) |
| | | }, |
| | | //æä¸¾æ³¨å
¥æé® |
| | | enmuVisHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect < 1) { |
| | | } else if (this.attrSelectList < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿å±æ§') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.enumVisible = true; |
| | | } |
| | | }, |
| | |
| | | }, |
| | | //ç¹å»å类注å
¥æé® |
| | | injectBtn() { |
| | | if (this.CrudSelect.length > 1) { |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿æ°æ®') |
| | | } else if (this.CrudSelect.length < 1) { |
| | | } else if (this.attrSelectList.length < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿æ°æ®') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.injectVisible = true |
| | | } |
| | | }, |
| | |
| | | }, |
| | | //è¡¨æ ¼å é¤ |
| | | CrudRemove() { |
| | | this.ProData.splice(this.attrRow.$index, 1) |
| | | this.attrSelectList.forEach((item)=>{ |
| | | this.ProData.splice(item.$index, 1) |
| | | }) |
| | | |
| | | }, |
| | | //è¡¨æ ¼éç½® |
| | | reset() { |
| | |
| | | }, |
| | | //忥å°å
¶ä»æ¨¡æ¿ |
| | | syncHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿å±æ§æ°æ®') |
| | | } else if (this.CrudSelect.length < 1) { |
| | | } else if (this.attrSelectList.length < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿å±æ§æ°æ®') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | copyto({oid: this.attrRow.oid}).then(res => { |
| | | this.$message.success('忥æå') |
| | | }) |
| | |
| | | }, |
| | | //ç»åè§å |
| | | isShowHandler() { |
| | | if (this.CrudSelect.length > 1) { |
| | | if (this.attrSelectList.length > 1) { |
| | | this.$message.warning('åªè½éæ©ä¸æ¡æ¨¡æ¿å±æ§æ°æ®') |
| | | } else if (this.CrudSelect.length < 1) { |
| | | } else if (this.attrSelectList.length < 1) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿å±æ§æ°æ®') |
| | | } else if (this.CrudSelect.length === 1) { |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.isShowformulaEdit = true; |
| | | } |
| | | }, |
| | |
| | | item = { oid, id, name, attributeGroup, ...{ checked: false } } |
| | | if (dataRight.length !== 0) { |
| | | dataRight.forEach(element => { if (item.id === element.attrId) item.checked = true }); |
| | | return item |
| | | } |
| | | return item |
| | | }) |
| | | console.log(datas) |
| | | let dataValue = datas.map(item => item.checked ? item.oid : undefined) |
| | | this.attributeValue = dataValue.filter(item => item) |
| | | this.attributeData = datas |
| | |
| | | handleMaintenance(row) { |
| | | console.log(row) |
| | | this.dialogNode = true |
| | | this.modelKey = row.modelKey |
| | | this.saveParam.modelKey = row.modelKey |
| | | this.getStagelist() |
| | | }, |
| | | // ç»´æ¤ |
| | | handleMaintenanceTransfer(row) { |
| | | this.saveParam.taskId = row.taskId |
| | | this.saveParam.taskName = row.taskName |
| | |
| | | <template> |
| | | <div> |
| | | <el-button @click="HandlerRend"></el-button> |
| | | <el-table :data="data"> |
| | | <el-table-column |
| | | fixed |
| | | type="selection" |
| | | width="55"> |
| | | <el-button @click="HandlerRend" size="small" type="primary">ä¿å</el-button> |
| | | <el-table |
| | | v-loading="isLoading" |
| | | :data="tableData" |
| | | max-height="700" |
| | | style="" |
| | | @cell-click="handleCellClick" |
| | | > |
| | | <el-table-column fixed type="selection" width="55"> </el-table-column> |
| | | <el-table-column fixed label="åºå·" type="index" width="55"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed |
| | | label="åºå·" |
| | | type="index" |
| | | width="55"> |
| | | v-for="item in this.tableHeadData" |
| | | :key="item.id" |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | :sortable="item.sortable" |
| | | :formatter="item.formatter" |
| | | :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'" |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | | > |
| | | <!-- ç¼è¾åå±ç¤ºé»è¾ --> |
| | | <!-- <template slot-scope="{ row }">--> |
| | | <!-- <el-input v-if="editingRow === row && editShow== item.prop" v-model="row[item.prop]" @blur="saveRow"></el-input>--> |
| | | <!-- <span v-else>{{row[item.prop]}}</span>--> |
| | | <!-- <el-switch--> |
| | | <!-- v-if="editShow === 'true'"--> |
| | | <!-- v-model="row[item.prop]"--> |
| | | <!-- active-color="#13ce66"--> |
| | | <!-- inactive-color="#ff4949">--> |
| | | <!-- </el-switch>--> |
| | | <!-- </template>--> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import {businese} from '@/api/work/businese' |
| | | import {MasterTable} from "@/api/GetItem"; |
| | | import {validatenull} from "@/util/validate"; |
| | | export default { |
| | | name: "BusinessWork", |
| | | props:['ids','templateId'], |
| | | data() { |
| | | return { |
| | | BuinessOids:[], |
| | | data:[ |
| | | { |
| | | label:'app' |
| | | } |
| | | ] |
| | | isLoading:false, |
| | | tableHeadData:[], |
| | | tableData:[], |
| | | editingRow: null, |
| | | editShow: "", |
| | | editAttr: "" |
| | | } |
| | | }, |
| | | watch:{ |
| | |
| | | handler(newval,oldval){ |
| | | this.BuinessOids=newval; |
| | | this.BuinseseRend() |
| | | console.log(newval) |
| | | console.log(this.BuinessOids) |
| | | }, |
| | | deep:true |
| | | } |
| | |
| | | mounted() { |
| | | }, |
| | | methods:{ |
| | | HandlerRend(){ |
| | | this.editingRow = null; |
| | | }, |
| | | //è¡¨æ ¼å¤´æ¸²æ |
| | | CrudHeaderRend() { |
| | | if (this.codeClassifyOid != "") { |
| | | MasterTable({ |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | functionId: 5, |
| | | }).then((res) => { |
| | | this.options = res.data.tableDefineVO.seniorQueryColumns; |
| | | this.List = res.data.tableDefineVO.cols[0]; |
| | | this.tableHeadData=[]; |
| | | this.List.forEach((item) => { |
| | | let columnItem = { |
| | | label: item.title, |
| | | prop: item.field, |
| | | type: this.columnType[item.type], |
| | | sortable: item.sort, |
| | | width: item.minWidth |
| | | }; |
| | | if(item.field == 'id' && validatenull(item.templet)){ |
| | | //ä¼ä¸ç¼ç çé»è®¤æ·»å è¶
龿¥,ææªå®ç° |
| | | columnItem.formatter = ''; |
| | | }else { |
| | | if (item.templet && typeof (item.templet) == 'string' && !validatenull(item.templet) && item.templet.indexOf("function(row,column)")>-1) { |
| | | columnItem.formatter = eval("(" + item.templet + ")"); |
| | | //function(row,column){return row[column.property]=='true'?'æ¯':'å¦'} |
| | | } |
| | | } |
| | | this.tableHeadData.push(columnItem) |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | //è¡¨æ ¼æ°æ® |
| | | BuinseseRend(){ |
| | | businese({ |
| | | btmType:'wupin', |
| | | 'conditionMap[oid]':this.BuinessOids.toString() |
| | | }).then(res=>{ |
| | | console.log(res) |
| | | this.tableData = res.data.data; |
| | | }) |
| | | } |
| | | }, |
| | | // çå¬åå
æ ¼ç¹å»äºä»¶å¹¶å卿£å¨ç¼è¾çè¡ |
| | | handleCellClick(row, column) { |
| | | this.editingRow = row; |
| | | this.editShow = column.property; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | data() {
|
| | | return {
|
| | | secVOList: [],
|
| | | localSecVOList: [],
|
| | | showCodeApply: false,
|
| | | selfColumnType: {
|
| | | codefixedsec: "combox",
|
| | |
| | | "coderefersec",
|
| | | ];
|
| | | this.secVOList = res.data.data.secVOList || []
|
| | | let localSecVOList = (res.data.data.secVOList || []).filter((item) =>
|
| | | this.localSecVOList = (res.data.data.secVOList || []).filter((item) =>
|
| | | typeList.includes(item.secType)
|
| | | );
|
| | | if (localSecVOList.length > 0) {
|
| | | if (this.localSecVOList.length > 0) {
|
| | | this.showCodeApply = true
|
| | | this.$nextTick(() => {
|
| | | this.$refs.CodeApply.templateRender(localSecVOList);
|
| | | this.$refs.CodeApply.templateRender(this.localSecVOList);
|
| | | });
|
| | | }
|
| | |
|
| | |
| | | <template> |
| | | <el-dialog |
| | | <el-dialog |
| | | title="ä¸å¡ç±»å" |
| | | :visible.sync="showSubmitDialog" |
| | | append-to-body |
| | |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="æè¿°" label-width="100px" class="description"> |
| | | <el-input v-model="btmType.description" |
| | | :prefix-icon="icons.desc" |
| | | <el-input v-model="btmType.description" |
| | | :prefix-icon="icons.desc" |
| | | class="descClass" |
| | | id="descId" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <avue-crud :option="option" |
| | | :data="btmType.attributes" |
| | | :page.sync="page" |
| | | <avue-crud :option="option" |
| | | :data="btmType.attributes" |
| | | :page.sync="page" |
| | | ref="attrTable" |
| | | @cell-mouse-enter="cellEditClick" |
| | | @cell-mouse-leave="cellEditSave"> |
| | |
| | | size="small" |
| | | @click="rowAdd()">屿§éæ©</el-button> |
| | | </template> |
| | | |
| | | |
| | | </avue-crud> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitBtmType">ç¡®å®</el-button> |
| | |
| | | @close="closeAttrDialog" |
| | | width="80%" |
| | | > |
| | | <avue-crud class="attrRef" |
| | | :option="attrRef.option" |
| | | :data="attrRef.data" |
| | | <avue-crud class="attrRef" |
| | | :option="attrRef.option" |
| | | :data="attrRef.data" |
| | | :page.sync="attrRef.page" |
| | | ref="attrRef" |
| | | @on-load="attrRefOnLoad" |
| | |
| | | :visible.sync="revisionRef.visible" |
| | | append-to-body |
| | | width="80%"> |
| | | |
| | | |
| | | <avue-crud class="revisionRef" |
| | | :option="revisionRef.option" |
| | | :data="revisionRef.data" |
| | |
| | | id: [ |
| | | { required: true, message: '请è¾å
¥ä¸å¡ç±»åç¼å·', trigger: 'blur' }, |
| | | { pattern: /^[A-Za-z]+$/, message: 'ä¸å¡ç±»åç¼å·åªè½ä¸ºè±æ', trigger: 'blur' }, |
| | | { min: 2, max: 15, message: 'é¿åº¦å¨2å°15个å符', trigger: 'blur' } |
| | | { min: 2, max: 20, message: 'é¿åº¦å¨2å°20个å符', trigger: 'blur' } |
| | | ], |
| | | domain: [ |
| | | { required: true, message: 'è¯·éæ©æå±é¢å', trigger: 'blur' } |
| | |
| | | attrDataType : item.typeKey, |
| | | defaultValue: item.defaultValue, |
| | | description: item.description, |
| | | attributeLength: item.maxLength |
| | | attributeLength: item.maxLength, |
| | | referBtmTypeId: item.referTypeCode, |
| | | referBtmTypeName: item.referToName, |
| | | enumId: item.dictCode, |
| | | // enumName: item, |
| | | }); |
| | | this.attrRef.queryNotIn += (item.id + ",") |
| | | }); |
| | |
| | | this.$refs.attrTable.refreshTable(); |
| | | }) |
| | | }, |
| | | // |
| | | // |
| | | viewChange(){ |
| | | |
| | | }, |
| | |
| | | <template slot="label"> |
| | | æä¸¾ç±»å |
| | | </template> |
| | | {{ itemForm.itemData.dictCode }} |
| | | {{ itemForm.itemData.dictValue }} |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </basic-container> |
| | | </el-aside> |
| | | <originalAdd ref="originalAdd" @refreshTable="refreshChange"></originalAdd> |
| | | <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd> |
| | | </el-container> |
| | | </template> |
| | | |
| | |
| | | update, getPage, getApplyRange |
| | | } from "@/api/omd/OmdAttribute"; |
| | | import Versionpackage from "./Versionpackage.vue"; |
| | | import {getDictionary} from "@/api/omd/enum"; |
| | | |
| | | export default { |
| | | name: "original", |
| | |
| | | attribute: { |
| | | nullable: true |
| | | }, |
| | | editAttibute: {}, |
| | | editAttribute: {}, |
| | | applyRangeData: [], |
| | | option: { |
| | | height: "550px", |
| | |
| | | itemForm: { |
| | | itemData: {}, |
| | | activeName: "referTab", |
| | | enumInitFlag:false, |
| | | referInitFlag: false, |
| | | form: {} |
| | | }, |
| | | searchId: '', |
| | |
| | | updateSave(row,index) { |
| | | this.selectRow = index; |
| | | var json = JSON.stringify(row); |
| | | this.editAttibute = JSON.parse(json); |
| | | this.editAttibute.nullable = row.nullable == 'true' ? true : false; |
| | | this.$refs.originalAdd.attribute = this.editAttibute; |
| | | this.editAttribute = JSON.parse(json); |
| | | this.editAttribute.nullable = row.nullable == 'true' ? true : false; |
| | | this.$refs.originalAdd.attribute = this.editAttribute; |
| | | this.$refs.originalAdd.showSubmitDialog = true; |
| | | this.checkUsingReferDict(row); |
| | | this.$refs.originalAdd.activeName = this.itemForm.activeName; |
| | | this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag; |
| | | this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag; |
| | | this.refreshChange() |
| | | }, |
| | | deleteSave(row,index) { |
| | |
| | | this.itemForm.itemData = row; |
| | | this.selectRow = row.$index; |
| | | this.attribute = row; |
| | | this.checkUsingReferDict(row); |
| | | }, |
| | | checkUsingReferDict(row){ |
| | | if (row.referToId !== null && row.referToId !== ""){ |
| | | this.itemForm.activeName = 'referTab'; |
| | | this.itemForm.referInitFlag = true; |
| | | this.itemForm.enumInitFlag = false; |
| | | }else if (row.usingDict === 'true'){ |
| | | this.itemForm.activeName = 'enumTab'; |
| | | this.itemForm.referInitFlag = false; |
| | | this.itemForm.enumInitFlag = true; |
| | | getDictionary({code: row.dictCode}).then(res => { |
| | | this.editAttribute.dictValue = res.data.data[0].label; |
| | | this.itemForm.itemData.dictValue = this.editAttribute.dictValue; |
| | | this.$refs.originalAdd.dictEnums = res.data.data; |
| | | }) |
| | | }else { |
| | | this.itemForm.activeName = 'referTab'; |
| | | this.itemForm.referInitFlag = true; |
| | | this.itemForm.enumInitFlag = false; |
| | | } |
| | | }, |
| | | selectBtmType() { |
| | | this.referType.display = true; |
| | |
| | | <el-form-item label="æè¿°" label-width="100px"> |
| | | <el-input v-model="attribute.description" type="text"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-tabs v-model="activeName" @tab-click="handleClick" stretch="true"> |
| | | <el-tab-pane label="åç
§" name="referTab"> |
| | | <el-form-item label="åç
§ç±»å" label-width="100px"> |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æä¸¾é¡¹" label-width="100px"> |
| | | |
| | | <el-tag v-for="eItem in dictEnums" :key="eItem.itemName" type="info"> |
| | | {{eItem.itemName}} |
| | | </el-tag> |
| | | </el-form-item> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitAttribute">ç¡®å®</el-button> |
| | | <el-button @click="cancleSubmit">åæ¶</el-button> |
| | | <el-button @click="cancelSubmit">åæ¶</el-button> |
| | | </div> |
| | | <!-- éæ©åç
§æ¶çå¼¹çª --> |
| | | <el-dialog title="åç
§å表" :visible.sync="btmRefer.show" append-to-body @close="closeReferDialog" width="80%" |
| | |
| | | </el-container> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="confirmBtm" size="small">ç¡®å®</el-button> |
| | | <el-button @click="cancleBtm" size="small">åæ¶</el-button> |
| | | <el-button @click="cancelBtm" size="small">åæ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- éæ©æä¸¾æ¶çå¼¹çª --> |
| | |
| | | </avue-crud> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="confirmEnum" size="small">ç¡®å®</el-button> |
| | | <el-button @click="cancleEnum" size="small">åæ¶</el-button> |
| | | <el-button @click="cancelEnum" size="small">åæ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </el-dialog> |
| | |
| | | addBtn: false, |
| | | refreshBtn: false, |
| | | columnBtn: false, |
| | | selection: true, |
| | | // selection: true, |
| | | menu: false, |
| | | border: true, |
| | | reserveSelection: true, |
| | |
| | | value: 'oid', |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | dictEnums: [], |
| | | enumEditFlag: false, |
| | | enumInitFlag: false, |
| | | referInitFlag: false, |
| | | referEditFlag: false, |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }; |
| | | this.referToFlag = true; |
| | | this.$refs.form.resetFields(); |
| | | this.dictEnums = []; |
| | | }, |
| | | submitAttribute() { |
| | | const that = this; |
| | | if (that.referInitFlag && that.referEditFlag){ |
| | | this.$set(this.attribute,'dictCode',''); |
| | | this.$set(this.attribute,'dictKey',''); |
| | | this.$set(this.attribute,'dictValue',''); |
| | | this.$set(this.attribute,'usingDict',''); |
| | | } |
| | | if (that.enumInitFlag && that.enumEditFlag){ |
| | | this.$set(this.attribute,'referTypeCode',''); |
| | | this.$set(this.attribute,'referTypeKey',''); |
| | | this.$set(this.attribute,'referTypeValue',''); |
| | | this.$set(this.attribute,'referToId',''); |
| | | this.$set(this.attribute,'referToName',''); |
| | | } |
| | | this.$refs.form.validate(function (pass, field) { |
| | | if (pass) { |
| | | add(that.attribute).then(res => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | cancleSubmit() { |
| | | cancelSubmit() { |
| | | this.closeSubmitDialog(); |
| | | }, |
| | | closeEnumDialog() { |
| | | this.cancleEnum(); |
| | | this.cancelEnum(); |
| | | }, |
| | | closeReferDialog() { |
| | | this.cancleBtm(); |
| | | this.cancelBtm(); |
| | | }, |
| | | confirmBtm() { |
| | | this.attribute.referToId = this.btmRefer.selectItem.oid; |
| | | this.attribute.referToName = this.btmRefer.selectItem.name; |
| | | this.btmRefer.show = false; |
| | | this.referEditFlag = true; |
| | | this.enumEditFlag = false; |
| | | }, |
| | | cancleBtm() { |
| | | cancelBtm() { |
| | | this.btmRefer.selectItem = {}; |
| | | this.btmRefer.show = false; |
| | | this.btmRefer.selectRow = ''; |
| | |
| | | this.attribute.dictCode = this.enumRefer.selectItem.name; |
| | | this.attribute.dictValue = this.enumRefer.selectItem.label; |
| | | this.enumRefer.show = false; |
| | | getDictionary({code :this.enumRefer.selectItem.name}).then(res => { |
| | | this.dictEnums = res.data.data; |
| | | }); |
| | | this.referEditFlag = false; |
| | | this.enumEditFlag = true; |
| | | }, |
| | | cancleEnum() { |
| | | cancelEnum() { |
| | | this.enumRefer.selectItem = {}; |
| | | this.enumRefer.show = false; |
| | | this.enumRefer.selectRow = ''; |
| | |
| | | this.domain.data = res.data.data; |
| | | }) |
| | | this.btmRefer.show = true; |
| | | |
| | | }, |
| | | // åç
§ç±»åæ çç¹å»äºä»¶ |
| | | nodeClick(data) { |
| | | // åºåä¸å¡ç±»åçæ¥è¯¢å龿¥ç±»åçæ¥è¯¢ |
| | | if (this.attribute.referTypeKey == 'btmType') { |
| | | btmPage(this.btmRefer.btmPage.currentPage, this.btmRefer.btmPage.pageSize, { domain: data.id }).then(res => { |
| | | btmPage(this.btmRefer.btmPage.currentPage, this.btmRefer.btmPage.pageSize, { bizDomain: data.id }).then(res => { |
| | | this.btmRefer.data = res.data.data.records; |
| | | this.btmRefer.btmPage.total = res.data.data.total; |
| | | }) |
| | |
| | | this.btmRefer.selectItem = {}; |
| | | this.btmRefer.selectRow = ''; |
| | | }, |
| | | // handleClick(tab){ |
| | | // // å 为åªè½åç
§åæä¸¾äºéä¸ãæä»¥å¨åæ¢çæ¶åæå±æ§ç»æ¸
空ã |
| | | // this.$delete(this.attribute,'referTypeCode'); |
| | | // this.$delete(this.attribute,'referTypeKey'); |
| | | // this.$delete(this.attribute,'referTypeValue'); |
| | | // this.$delete(this.attribute,'referToId'); |
| | | // this.$delete(this.attribute,'referToName'); |
| | | // this.$delete(this.attribute,'dictCode'); |
| | | // this.$delete(this.attribute,'dictKey'); |
| | | // this.$delete(this.attribute,'dictValue'); |
| | | // this.$delete(this.attribute,'usingDict'); |
| | | // } |
| | | handleClick(tab){ |
| | | // å 为åªè½åç
§åæä¸¾äºéä¸ãæä»¥å¨åæ¢çæ¶åæå±æ§ç»æ¸
空ã |
| | | if (tab.name === 'enumTab'){ |
| | | this.enumInitFlag = true; |
| | | this.referInitFlag = false; |
| | | }else { |
| | | this.enumInitFlag = false; |
| | | this.referInitFlag = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | .attributeForm>.el-form-item>.el-form-item__content>.el-select>.el-input>.el-input__inner { |
| | | width: 200px; |
| | | }</style> |
| | | }</style> |
| | |
| | | private final ProcessStageAttrService processStageAttrService; |
| | | |
| | | private static String MODELKEY = "modelKey";//åç«¯ä¼ è¿æ¥ç模åkey |
| | | private static String TASKID = "taskId";//åç«¯ä¼ è¿æ¥ç模åkey |
| | | private static String PROCESSINSTANCEID = "processInstanceId";//åç«¯ä¼ è¿æ¥ç模åkey |
| | | @Override |
| | | public R<BladeFlow> startProcess(FlowTaskDTO flowTaskUserC){ |
| | | Map<String, Object> kvv = flowTaskUserC.getVariables(); |
| | |
| | | flowTaskDTO.setVariables(variables); |
| | | } |
| | | |
| | | String templateId = variables.get("templateId").toString(); |
| | | //æµç¨é¶æ®µ |
| | | Map<String, Object> m = new HashMap<>(); |
| | | m.put("template_id", templateId); |
| | | m.put("task_id", crruentActivityId); |
| | | m.put("model_key", modelKey); |
| | | QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class) |
| | | .select("attr_id attrId,attr_name attrName,attr_group attrGroup"); |
| | | List<ProcessStageAttr> stageAttrs = processStageAttrService.list(q); |
| | | flowTaskDTO.setStageAttrs(stageAttrs); |
| | | |
| | | //æ¾å
¥æµç¨é¶æ®µãæµç¨modelkey |
| | | variables.put(TASKID,crruentActivityId); |
| | | variables.put(PROCESSINSTANCEID,processInstanceId); |
| | | return flowTaskDTO; |
| | | } |
| | | } |
| | |
| | | |
| | | import java.util.List; |
| | | |
| | | @XStreamAlias("library ") |
| | | @XStreamAlias("library") |
| | | public class LibraryVO { |
| | | @XStreamAsAttribute |
| | | private String id; |
| | |
| | | /*** |
| | | * ç æ®µç å¼ |
| | | */ |
| | | private List<CodeSectionValueVO> sectionValues; |
| | | private List<CodeSectionValueVO> sectionValue; |
| | | /** |
| | | * æ¥ææ ¼å¼ |
| | | */ |
| | |
| | | this.codeDateFormatStr = codeDateFormatStr; |
| | | } |
| | | |
| | | public String getParentClassifySecOid() { |
| | | return parentClassifySecOid; |
| | | } |
| | | |
| | | public void setParentClassifySecOid(String parentClassifySecOid) { |
| | | this.parentClassifySecOid = parentClassifySecOid; |
| | | } |
| | | |
| | | public List<CodeSectionValueVO> getSectionValue() { |
| | | return sectionValue; |
| | | } |
| | | |
| | | public void setSectionValue(List<CodeSectionValueVO> sectionValue) { |
| | | this.sectionValue = sectionValue; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeSectionVO{" + |
| | |
| | | package com.vci.ubcs.code.vo.webserviceModel.coderule; |
| | | |
| | | import com.thoughtworks.xstream.annotations.XStreamAlias; |
| | | import com.thoughtworks.xstream.annotations.XStreamAsAttribute; |
| | | |
| | | @XStreamAlias("sectionValue") |
| | | public class CodeSectionValueVO { |
| | | public CodeSectionValueVO() { |
| | | } |
| | | |
| | | public CodeSectionValueVO(String id, String num, String value,String name ,String description) { |
| | | this.id = id; |
| | | this.num = num; |
| | | this.value = value; |
| | | this.description = description; |
| | | } |
| | | |
| | | /*** |
| | | * ç å¼ä¸»é® |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String id; |
| | | /*** |
| | | * ç å¼ç¼å· |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String num; |
| | | |
| | | @XStreamAsAttribute |
| | | private String name; |
| | | |
| | | /*** |
| | | * ç æ®µå¼ |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String value; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String description; |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getNum() { |
| | | return num; |
| | | } |
| | | |
| | | public void setNum(String num) { |
| | | this.num = num; |
| | | } |
| | | |
| | | public String getValue() { |
| | | return value; |
| | | } |
| | | |
| | | public void setValue(String value) { |
| | | this.value = value; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeSectionValueVO{" + |
| | | "id='" + id + '\'' + |
| | | ", num='" + num + '\'' + |
| | | ", name='" + name + '\'' + |
| | | ", value='" + value + '\'' + |
| | | ", description='" + description + '\'' + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | |
| | | public class ResultClassifyRuleVO { |
| | | |
| | | private ResultClassifyRuleData resultData; |
| | | private ResultClassifyRuleData data; |
| | | |
| | | public ResultClassifyRuleData getResultData() { |
| | | return resultData; |
| | | } |
| | | |
| | | public void setResultData(ResultClassifyRuleData resultData) { |
| | | this.resultData = resultData; |
| | | } |
| | | public ResultClassifyRuleData getData() { |
| | | return data; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ResultClassifyVO{" + |
| | | "resultData=" + resultData + |
| | | '}'; |
| | | } |
| | | public void setData(ResultClassifyRuleData data) { |
| | | this.data = data; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ResultClassifyRuleVO{" + |
| | | "data=" + data + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | * è§åid |
| | | */ |
| | | @XStreamAsAttribute |
| | | private CodeRuleVO codeRuleVO; |
| | | private ResultCodeRuleVO codeRule; |
| | | /*** |
| | | * æ¯å¦ä¸ºå¶åèç¹ |
| | | */ |
| | |
| | | isLeaf = leaf; |
| | | } |
| | | |
| | | public ResultCodeRuleVO getCodeRule() { |
| | | return codeRule; |
| | | } |
| | | |
| | | public void setCodeRule(ResultCodeRuleVO codeRule) { |
| | | this.codeRule = codeRule; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ClassifyVO{" + |
| | | return "ResultClassifyVO{" + |
| | | "id='" + id + '\'' + |
| | | ", name='" + name + '\'' + |
| | | ", pid='" + pid + '\'' + |
| | |
| | | ", fullPathName='" + fullPathName + '\'' + |
| | | ", lcStatus='" + lcStatus + '\'' + |
| | | ", codeRuleId='" + codeRuleId + '\'' + |
| | | ", codeRule=" + codeRule + |
| | | ", isLeaf=" + isLeaf + |
| | | '}'; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.vo.webserviceModel.coderule; |
| | | |
| | | import com.thoughtworks.xstream.annotations.XStreamAlias; |
| | | import com.thoughtworks.xstream.annotations.XStreamAsAttribute; |
| | | import com.thoughtworks.xstream.annotations.XStreamImplicit; |
| | | |
| | | import java.util.List; |
| | | |
| | | @XStreamAlias("codeRule") |
| | | public class ResultCodeRuleVO { |
| | | |
| | | /** |
| | | * ç¼ç è§åçç¼å· |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String id; |
| | | |
| | | /** |
| | | * è§åç¼å· |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String num; |
| | | /** |
| | | * ç¼ç è§åçåç§° |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String name; |
| | | |
| | | /** |
| | | * è§åçæè¿° |
| | | */ |
| | | @XStreamAsAttribute |
| | | private String description; |
| | | /** |
| | | * ç¼ç çç æ®µä¿¡æ¯ |
| | | */ |
| | | @XStreamImplicit |
| | | private List<CodeSectionVO> codeSection; |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getNum() { |
| | | return num; |
| | | } |
| | | |
| | | public void setNum(String num) { |
| | | this.num = num; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public List<CodeSectionVO> getCodeSection() { |
| | | return codeSection; |
| | | } |
| | | |
| | | public void setCodeSection(List<CodeSectionVO> codeSection) { |
| | | this.codeSection = codeSection; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeRuleVO{" + |
| | | "id='" + id + '\'' + |
| | | ", num='" + num + '\'' + |
| | | ", name='" + name + '\'' + |
| | | ", description='" + description + '\'' + |
| | | ", codeSection=" + codeSection + |
| | | '}'; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "resultData": { |
| | | "msg": "æå!", |
| | | "library": { |
| | | "classify": [ |
| | | { |
| | | "classCode": "020202", |
| | | "lcStatus": "Enabled", |
| | | "name": "å£ç", |
| | | "description": "å£ç", |
| | | "pid": "0C600A6A-6398-FC30-D13E-121201FDA908", |
| | | "codeRule": { |
| | | "num": "001-copy", |
| | | "description": "ç©åç¼ç è§å", |
| | | "codeSection": [ |
| | | { |
| | | "sectionValue": [ |
| | | { |
| | | "num": "0", |
| | | "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790", |
| | | "value": "020202" |
| | | } |
| | | ], |
| | | "num": "01", |
| | | "codeSecLengthType": "code_sec_length_variable", |
| | | "name": "å±çº§ç 段", |
| | | "secType": "codelevelsec", |
| | | "id": "1674682431208296448", |
| | | "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D" |
| | | }, |
| | | { |
| | | "sectionValue": [], |
| | | "num": "02", |
| | | "name": "æµæ°´ç 段", |
| | | "description": "æµæ°´ç 段", |
| | | "secType": "codeserialsec", |
| | | "id": "801B6412-E617-214A-08A5-9EDF5821AA66", |
| | | "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D", |
| | | "codeSecLength": "4" |
| | | } |
| | | ], |
| | | "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D" |
| | | }, |
| | | "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790", |
| | | "leaf": false |
| | | }, |
| | | { |
| | | "classCode": "020201", |
| | | "lcStatus": "Enabled", |
| | | "name": "é", |
| | | "description": "é", |
| | | "pid": "0C600A6A-6398-FC30-D13E-121201FDA908", |
| | | "codeRule": { |
| | | "num": "001-copy", |
| | | "description": "ç©åç¼ç è§å", |
| | | "codeSection": [ |
| | | { |
| | | "sectionValue": [ |
| | | { |
| | | "num": "0", |
| | | "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0", |
| | | "value": "020201" |
| | | } |
| | | ], |
| | | "num": "01", |
| | | "codeSecLengthType": "code_sec_length_variable", |
| | | "name": "å±çº§ç 段", |
| | | "secType": "codelevelsec", |
| | | "id": "1674682431208296448", |
| | | "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D" |
| | | }, |
| | | { |
| | | "sectionValue": [], |
| | | "num": "02", |
| | | "name": "æµæ°´ç 段", |
| | | "description": "æµæ°´ç 段", |
| | | "secType": "codeserialsec", |
| | | "id": "801B6412-E617-214A-08A5-9EDF5821AA66", |
| | | "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D", |
| | | "codeSecLength": "4" |
| | | } |
| | | ], |
| | | "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D" |
| | | }, |
| | | "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0", |
| | | "leaf": false |
| | | } |
| | | ], |
| | | "name": "", |
| | | "id": "wupin" |
| | | }, |
| | | "errorid": "0" |
| | | } |
| | | } |
| | |
| | | public static final String LIFE_CYCLE_EVENT = "lifeCycleEvent"; |
| | | |
| | | /** |
| | | * çå½å¨æçèç¹ |
| | | */ |
| | | public static final String LIFE_CYCLE_NODE = "lifeCycleNode"; |
| | | |
| | | /** |
| | | * çå½å¨æçè¿æ¥çº¿ä¿¡æ¯ |
| | | */ |
| | | public static final String LIFE_CYCLE_EDGE = "lifeCycleEdge"; |
| | | |
| | | /** |
| | | * çå½å¨æè¿æ¥çº¿çä¸å¡ç±»ååç§° |
| | | */ |
| | | public static final String LIFE_CYCLE_LINE = "lifeCycleLine"; |
| | |
| | | |
| | | import com.alibaba.fastjson.annotation.JSONField; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import org.springblade.core.mp.support.Query; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.HashMap; |
| | |
| | | this.limit = limit; |
| | | } |
| | | |
| | | /** |
| | | * ä»ä»¥åçé¡¹ç®æ·è´è¿æ¥çå页 |
| | | * @return |
| | | */ |
| | | @JSONField( |
| | | serialize = false, |
| | | deserialize = false |
| | | ) |
| | | @Deprecated |
| | | public PageHelper getPageHelper() { |
| | | PageHelper pageHelper = new PageHelper(this.limit); |
| | | pageHelper.setPage(this.getPage()); |
| | |
| | | return pageHelper; |
| | | } |
| | | |
| | | |
| | | public BaseQueryObject addSort(String sort, String order) { |
| | | this.setSort(StringUtils.isBlank(this.getSort()) ? sort : this.getSort() + "," + sort); |
| | | this.setOrder(StringUtils.isBlank(this.getOrder()) ? order : this.getOrder() + "," + order); |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springblade.core.cache.utils.CacheUtil; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import com.vci.ubcs.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | |
| | | // åæ¶éè¦ä¸å¡æ°æ®å é¤ |
| | | if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) { |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname())); |
| | | commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid())); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid())); |
| | | } else { |
| | | for (BaseModel baseModel : baseModels) { |
| | | baseModel.setLcStatus(baseModelDTO.getLcStatus()); |
| | |
| | | // final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmtypeid())); |
| | | // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | final String[] sql = {"select count(*) from " + listR.getData().get(0).getTableName() + " t where 1 = 1 "}; |
| | | conditionMap.forEach((key, value) -> { |
| | | sql[0] += " and " + key + " = " + value; |
| | |
| | | fieldVO.setTemplet(attrVO.getTableDisplayJs()); |
| | | } |
| | | if (StringUtils.isBlank(fieldVO.getTemplet()) && VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())) { |
| | | fieldVO.setTemplet("function(d){return $webUtil.formateBoolean(d." + fieldVO.getField() + ");}"); |
| | | fieldVO.setTemplet("function(row,column){return row[column.property]=='true' || row[column.property]=='1'?'æ¯':'å¦'}"); |
| | | // fieldVO.setTemplet("function(d){return $webUtil.formateBoolean(d." + fieldVO.getField() + ");}"); |
| | | } |
| | | fieldVO.setOptionJsMap(eventJsMap); |
| | | fieldVO.setStyle(attrVO.getTableDisplayStyle()); |
| | |
| | | //使ç¨ä¼ å
¥çä¸å¡ç±»åæ¥è¯¢è¡¨ |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referVO.getReferType())); |
| | | // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | String referTable = listR.getData().get(0).getTableName(); |
| | | // String referTable = "pl_code_classify"; |
| | | String referTableNick = attrVO.getId() + "0"; |
| | |
| | | } |
| | | // String tableName = VciBaseUtil.getTableName(btmType); |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); |
| | | String tableName = listR.getData().get(0).getTableName(); |
| | | String sql = "select " + selectFieldList.stream().map(s -> (s.contains(".") ? s : ("t." + s))).collect(Collectors.joining(",")) |
| | |
| | | // baseMapper.deleteBatchIds(cboList); |
| | | //使ç¨ä¼ å
¥çä¸å¡ç±»åæ¥è¯¢è¡¨ |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid())); |
| | | if (listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), |
| | | "'" + (StringUtils.join(cboList.stream().map(BaseModel::getOid).collect(Collectors.toSet()), "','")) + "'"); |
| | | // ); |
| | |
| | | public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) { |
| | | //使ç¨ä¼ å
¥çä¸å¡ç±»åæ¥è¯¢è¡¨ |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); |
| | | if (listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | //å°bean转为map,mybatisç»ä¸å¤ç |
| | | List<Map<String, String>> maps = new ArrayList<>(); |
| | | baseModels.stream().forEach(model -> { |
| | |
| | | |
| | | //使ç¨ä¼ å
¥çä¸å¡ç±»åæ¥è¯¢è¡¨ |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); |
| | | if (listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | //æ¥è¯¢æ°æ® |
| | | List<Map> maps = commonsMapper.selectBySql("select * from " + listR.getData().get(0).getTableName() + " where oid in (" |
| | | + VciBaseUtil.toInSql(oids.toString()) + ")"); |
| | |
| | | */ |
| | | public BaseModel createBaseModel(String boName) { |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(boName)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | String userName = String.valueOf(AuthUtil.getUser().getUserId()); |
| | | BaseModel bo = new BaseModel(); |
| | | // bo.setOid(VciBaseUtil.getPk()); |
| | |
| | | public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) { |
| | | //使ç¨ä¼ å
¥çä¸å¡ç±»åæ¥è¯¢è¡¨ |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); |
| | | if (listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | //å°bean转为map,mybatisç»ä¸å¤ç |
| | | List<Map<String, String>> maps = new ArrayList<>(); |
| | | |
| | |
| | | toBo.setVersionRule(fromBo.getVersionRule()); |
| | | // RevisionValueObject rvObj = this.getNextRevision(fromBo.getBtmName(), fromBo.getNameoid(), item.revRuleName, item.revInput, revisionVal); |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(fromBo.getBtmname())); |
| | | Map<String, Object> nextRevision = commonsMapper.getNextRevision(listR.getData().get(0).getTableName(), fromBo.getNameOid()); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("ä¼ å
¥ä¸å¡ç±»åæªæ¥è¯¢å°ç¸åºè¡¨åï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | Map<String, Object> nextRevision = commonsMapper.getNextRevision(listR.getData().get(0).getTableName(), fromBo.getNameOid()); |
| | | toBo.setRevisionSeq(Integer.parseInt(nextRevision.get("REVISIONSEQ").toString())); |
| | | toBo.setRevisionValue(nextRevision.get("REVISIONVAL").toString()); |
| | | // VersionValueObject versionObj = this.getVersionValue(item.verRuleName); |
| | |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; |
| | | import com.vci.ubcs.starter.web.pagemodel.*; |
| | | import com.vci.ubcs.starter.web.toolmodel.DateConverter; |
| | | import com.vci.ubcs.starter.web.util.*; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | |
| | | @Override |
| | | public R batchImportData(List<CodeImprotSaveDatVO> codeImprotSaveDatVOList, String classifyAttr, boolean isImprot) { |
| | | List<BaseModel> dataCBOList=new ArrayList<>(); |
| | | |
| | | boolean success=true; |
| | | codeImprotSaveDatVOList.stream().forEach(codeImprotSaveDatVO -> { |
| | | List<SheetRowData> rowDataList = new ArrayList<>(); |
| | | List<ClientBusinessObject>cboList=new ArrayList<>(); |
| | |
| | | String fullPath = getFullPath(classifyFullInfo); |
| | | excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList, codeClassifyTemplateVO,cboList,fullPath,!isImprot); |
| | | Map<String,String> errorMap=new HashMap<>(); |
| | | Map<String/**è·¯å¾**/, CodeClassifyVO> pathMap=new HashMap<>() ; |
| | | //æ ¡éªç¼ç è§ååç æ®µæ¯å¦æ£ç¡® |
| | | Map<String, List<String>> ruleRowIndexMap = new ConcurrentHashMap<>(); |
| | | Map<String, CodeRuleVO> ruleVOMap =new ConcurrentHashMap<>(); |
| | | if(isImprot) { |
| | | Map<String/**主é®**/, String/**è·¯å¾**/> childOidPathMap = getChildClassifyPathMap(classifyFullInfo, fullPath); |
| | | //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ |
| | | //æ¾ææçå类路å¾,éè¦æ ¡éªè·¯å¾æ¯å¦æ£ç¡®ï¼æ¯å¦é½å¨å½åçåç±»çä¸çº§ |
| | | List<CodeClassifyVO> childClassifyVOs = classifyService.listChildrenClassify(orderDTO.getCodeClassifyOid(), true, classifyAttr, true); |
| | | Map<String/**è·¯å¾**/, CodeClassifyVO> pathMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getPath().startsWith("#") ? s.getPath().substring(1) : s.getPath(), t -> t)); |
| | | pathMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getPath().startsWith("#") ? s.getPath().substring(1) : s.getPath(), t -> t)); |
| | | Map<String/**主é®**/, CodeClassifyVO> classifyVOMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); |
| | | classifyVOMap.put(classifyFullInfo.getCurrentClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO()); |
| | | pathMap.put("#current#", classifyFullInfo.getCurrentClassifyVO()); |
| | | //æä»¬éè¦å¤æè¿äºåç±»çæ¨¡æ¿æ¯ä¸æ¯ä¸æ ·çï¼åªéè¦æ ¡éªï¼ä¸ç¨è·å |
| | | //æ£æ¥åç±»çè·¯å¾ |
| | | checkClassifyPathInHistory(cboList, errorMap, pathMap, childOidPathMap); |
| | | //æ£æ¥è§å |
| | | Map<String/**å类主é®**/, String/**è§å主é®**/> ruleOidMap = new ConcurrentHashMap<String, String>(); |
| | | List<String> unExistRuleClassifyOidList = new CopyOnWriteArrayList<>(); |
| | | checkRuleOidInHistory(classifyVOMap, ruleOidMap, unExistRuleClassifyOidList); |
| | | ruleVOMap = ruleService.listCodeRuleByIds(ruleOidMap.values(), true).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); |
| | | |
| | | checkSecLengthInHistory(cboList, classifyVOMap, ruleVOMap, ruleOidMap, errorMap, ruleRowIndexMap); |
| | | } |
| | | |
| | | //å类注å
¥ |
| | | batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,isImprot); |
| | | //boolean |
| | |
| | | //4.æ ¡éªè§å |
| | | batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); |
| | | |
| | | |
| | | //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); |
| | | List<ClientBusinessObject>needSaveCboList = cboList.stream().filter(cbo -> { |
| | | String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | return !errorMap.containsKey(rowIndex); |
| | | }).collect(Collectors.toList()); |
| | | |
| | | log.info("åç±»ï¼"+classifyFullInfo.getCurrentClassifyVO().getName()+"æ°æ®:"+needSaveCboList.size()); |
| | | if (!CollectionUtils.isEmpty(needSaveCboList)) { |
| | | // List<BaseModel> dataCBOList=new ArrayList<>(); |
| | | needSaveCboList.stream().forEach(clientBusinessObject -> { |
| | | BaseModel baseModel=new BaseModel(); |
| | | BeanUtil.convert(clientBusinessObject,baseModel); |
| | | //baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); |
| | | dataCBOList.add(baseModel); |
| | | // allNeedSaveCboList.add(baseModel); |
| | | }); |
| | | try { |
| | | //9.æä»¬å¤çä¸å¡æ°æ® |
| | | if (isImprot) { |
| | | productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, null, dataCBOList); |
| | | }else { |
| | | productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); |
| | | if(isImprot){ |
| | | List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { |
| | | String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | return !errorMap.containsKey(rowIndex); |
| | | }).collect(Collectors.toList()); |
| | | List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList; |
| | | Map<String, CodeRuleVO> finalRuleVOMap = ruleVOMap; |
| | | ruleRowIndexMap.keySet().parallelStream().forEach(ruleOid -> { |
| | | List <BaseModel>dataCBOList=new CopyOnWriteArrayList<>(); |
| | | List<String> rowIndexList = ruleRowIndexMap.get(ruleOid); |
| | | List<ClientBusinessObject> thisCbos = needSaveCboList.stream().filter(cbo -> rowIndexList.contains(cbo.getAttributeValue(IMPORT_ROW_INDEX)) && !errorMap.containsKey(cbo.getAttributeValue(IMPORT_ROW_INDEX))).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(thisCbos)) { |
| | | thisCbos.stream().forEach(clientBusinessObject -> { |
| | | BaseModel baseModel = new BaseModel(); |
| | | BeanUtil.convert(clientBusinessObject, baseModel); |
| | | dataCBOList.add(baseModel); |
| | | }); |
| | | try { |
| | | productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, finalRuleVOMap.get(ruleOid), null, dataCBOList); |
| | | } catch (Throwable e) { |
| | | //success=false; |
| | | log.error("æ¹é产çç¼ç çæ¶ååºéäº", e); |
| | | thisCbos.stream().forEach(cbo -> { |
| | | String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | errorMap.put(rowIndex, errorMap.getOrDefault(rowIndex, "") + ";ç³»ç»é误ï¼å卿°æ®çæ¶ååºéäº"); |
| | | }); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); |
| | | }); |
| | | }else { |
| | | List<BaseModel> dataCBOList=new ArrayList<>(); |
| | | List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { |
| | | String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | return !errorMap.containsKey(rowIndex); |
| | | }).collect(Collectors.toList()); |
| | | log.info("åç±»ï¼" + classifyFullInfo.getCurrentClassifyVO().getName() + "æ°æ®:" + needSaveCboList.size()); |
| | | if (!CollectionUtils.isEmpty(needSaveCboList)) { |
| | | needSaveCboList.stream().forEach(clientBusinessObject -> { |
| | | BaseModel baseModel = new BaseModel(); |
| | | BeanUtil.convert(clientBusinessObject, baseModel); |
| | | dataCBOList.add(baseModel); |
| | | }); |
| | | try { |
| | | productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å
¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ |
| | | engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); |
| | | } |
| | | } |
| | | //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å
¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ |
| | | engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); |
| | | }); |
| | | return R.success(isImprot?"æ¹éåå²å¯¼å
¥æå":"æ¹éç³è¯·æå"); |
| | | } |
| | |
| | | import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryClassifyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryData; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryLibraryVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.ResultClassifyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.coderule.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.data.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.result.json.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX; |
| | | import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; |
| | | |
| | | /*** |
| | |
| | | errorid = "101"; |
| | | throw new Throwable("æ¥å£åæ°ï¼è´¦å·ä¿¡æ¯è·å失败"); |
| | | } |
| | | if(!CollectionUtils.isEmpty(classifyIdList)){ |
| | | //å
ç®ç§°æ¯å¦æå
³è模æ¿ï¼ææ¨¡æ¿è¦å
å é¤ |
| | | List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); |
| | | codeClassifyVOS=classifyService.codeClassifyDO2VOs(libIdDos); |
| | | }else { |
| | | List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, libId)); |
| | | String oid= libIdDos.get(0).getOid(); |
| | | TreeQueryObject treeQueryObject=new TreeQueryObject(); |
| | | treeQueryObject.setParentOid(oid); |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, libId)); |
| | | if(CollectionUtils.isEmpty(libIdDos)) { |
| | | CodeClassify libCodeClassify =libIdDos.get(0); |
| | | String oid=libCodeClassify.getOid(); |
| | | if (!CollectionUtils.isEmpty(classifyIdList)) { |
| | | //å
ç®ç§°æ¯å¦æå
³è模æ¿ï¼ææ¨¡æ¿è¦å
å é¤ |
| | | List<CodeClassify> childCodeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); |
| | | List<CodeClassify>newchildCodeClassifyList=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(childCodeClassifyList)) { |
| | | Map<String,String> errorMap=new HashMap<>(); |
| | | childCodeClassifyList.stream().forEach(codeClassify -> { |
| | | CodeClassifyVO toClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid()); |
| | | if(toClassifyVO.getOid().equals(libCodeClassify.getOid())){ |
| | | newchildCodeClassifyList.add(codeClassify); |
| | | } |
| | | }); |
| | | Map<String/**åç±»ç¼å·**/, CodeClassify/**å类对象**/> classifyfCodeMap = newchildCodeClassifyList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); |
| | | classifyIdList.stream().forEach(classifyfCode -> { |
| | | if(!classifyfCodeMap.containsKey(classifyfCode)) { |
| | | errorMap.put("error", errorMap.getOrDefault("error", "") + ";æ ¹æ®classCodeï¼ã" + classifyfCode + "ãå¨library:ã" + libCodeClassify.getId() + "ã䏿ªæ¥è¯¢å°"); |
| | | } |
| | | }); |
| | | if(errorMap.size()>0){ |
| | | errorid = "101"; |
| | | msg = errorMap.getOrDefault("error",""); |
| | | throw new Throwable(msg); |
| | | } |
| | | codeClassifyVOS = classifyService.codeClassifyDO2VOs(newchildCodeClassifyList); |
| | | }else{ |
| | | errorid = "101"; |
| | | msg = "æ¥å£åæ°ï¼classCode æªæ¥è¯¢å°å¯¹åºçå类信æ¯"; |
| | | throw new Throwable(msg); |
| | | } |
| | | } else { |
| | | TreeQueryObject treeQueryObject = new TreeQueryObject(); |
| | | treeQueryObject.setParentOid(oid); |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS = classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | } |
| | | }else{ |
| | | errorid = "101"; |
| | | throw new Throwable("æ¥å£åæ°ï¼è´¦å·ä¿¡æ¯è·å失败"); |
| | | } |
| | | LibraryVO libraryVo=new LibraryVO(); |
| | | libraryVo.setId(libId); |
| | |
| | | String systemId=""; |
| | | log.info("æ¥è¯¢åç±»çæ°æ®åæ°:->"+data); |
| | | log.info("æ¥è¯¢åç±»çæ°æ®ç±»å:->"+dataType); |
| | | ResultClassifyVO resultClassifyVO =new ResultClassifyVO(); |
| | | List<ClassifyVO> classifyVOList=new ArrayList<>(); |
| | | ResultData resultData=new ResultData(); |
| | | ResultClassifyRuleVO resultClassifyRuleVO =new ResultClassifyRuleVO(); |
| | | List<com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO> classifyVOList=new ArrayList<>(); |
| | | ResultClassifyRuleData resultClassifyRuleData=new ResultClassifyRuleData(); |
| | | try { |
| | | if (StringUtils.isBlank(data)) { |
| | | errorid = "101"; |
| | |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | } |
| | | LibraryVO libraryVo=new LibraryVO(); |
| | | libraryVo.setId(libId); |
| | | libraryVo.setName(""); |
| | | ResultLibraryVO resultLibraryVO=new ResultLibraryVO(); |
| | | resultLibraryVO.setId(libId); |
| | | resultLibraryVO.setName(""); |
| | | if(!CollectionUtils.isEmpty(codeClassifyVOS)){ |
| | | errorid = "0"; |
| | | msg="æå!"; |
| | | codeClassifyVOS.stream().forEach(codeClassifyDO -> { |
| | | ClassifyVO classifyVO=new ClassifyVO(); |
| | | //åå»å
å«ç 段çç¼ç è§å |
| | | CodeRuleVO codeRuleVO= this.engineService.getCodeRuleByClassifyOid(codeClassifyDO.getOid()); |
| | | ResultCodeRuleVO resultCodeRuleVO=new ResultCodeRuleVO(); |
| | | if(codeRuleVO!=null){ |
| | | CodeRuleVO resultClassifyRuleVO1=new CodeRuleVO(); |
| | | List<CodeBasicSecVO> codeBasicSecVOS= codeRuleVO.getSecVOList(); |
| | | List<CodeSectionVO> codeSectionVOList=new CopyOnWriteArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(codeBasicSecVOS)){ |
| | | codeBasicSecVOS.stream().forEach(codeBasicSecVO -> { |
| | | List<CodeSectionValueVO> codeSectionValueVOList=new ArrayList<>(); |
| | | String secType= codeBasicSecVO.getSecType(); |
| | | if(secType.equals("codevariablesec")){//å¯åç æ®µ |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO("","","","",""); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }else if(secType.equals("codefixedsec")){//åºå®ç 段 |
| | | List<CodeFixedValueVO> fixedValueVOList=codeBasicSecVO.getFixedValueVOList(); |
| | | fixedValueVOList.stream().forEach(codeFixedValueVO -> { |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeFixedValueVO.getOid(),codeFixedValueVO.getOrderNum()+"",codeFixedValueVO.getId(),codeFixedValueVO.getName(),codeFixedValueVO.getDescription()); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | }else if(secType.equals("codeclassifysec")){//åç±»ç æ®µ |
| | | String secOid=codeBasicSecVO.getOid(); |
| | | String parentClassifySecOid= codeBasicSecVO.getParentClassifySecOid(); |
| | | List<CodeClassifyValueVO> codeClassifyValueVOS= this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifySecOid); |
| | | if(CollectionUtils.isEmpty(codeClassifyValueVOS)){ |
| | | codeClassifyValueVOS.stream().forEach(codeClassifyValueVO -> { |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeClassifyValueVO.getOid(),codeClassifyValueVO.getOrderNum()+"",codeClassifyValueVO.getId(),codeClassifyValueVO.getName(),codeClassifyValueVO.getDescription()); |
| | | }); |
| | | } |
| | | }else if(secType.equals("codedatesec")){//æ¥æç æ®µ |
| | | |
| | | }else if(secType.equals("coderefersec")){//å¼ç¨ç 段 |
| | | |
| | | }else if(secType.equals("codelevelsec")) {//å±çº§ç 段 |
| | | int level = codeBasicSecVO.getCodeLevelValue(); |
| | | CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO(); |
| | | CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid()); |
| | | if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//æå®å±çº§ |
| | | List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); |
| | | if (classifyVOS.size() >= level && level > 0) { |
| | | levelCodeClassifyVO = classifyVOS.get(level - 1); |
| | | } |
| | | }else{//æå°å± |
| | | levelCodeClassifyVO=codeClassifyDO; |
| | | } |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(levelCodeClassifyVO.getOid(),"0",levelCodeClassifyVO.getId(),codeBasicSecVO.getName(),codeBasicSecVO.getDescription()); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }else if(secType.equals("codeattrsec")){//屿§ç 段 |
| | | |
| | | }else if(secType.equals("codeserialsec")){//æµæ°´ç 段 |
| | | |
| | | } |
| | | //æå»ºè§åç æ®µ |
| | | CodeSectionVO codeSectionVO=new CodeSectionVO(); |
| | | codeSectionVO.setId(codeBasicSecVO.getOid());//ä¸»é® |
| | | codeSectionVO.setName(codeBasicSecVO.getName());//ç æ®µåç§° |
| | | codeSectionVO.setCodeSecLength(codeBasicSecVO.getCodeSecLength());//ç æ®µé¿åº¦ |
| | | codeSectionVO.setNum(codeBasicSecVO.getId());//ç æ®µç¼å· |
| | | codeSectionVO.setCodeDateFormatStr(codeBasicSecVO.getCodeDateFormatStr());//æ¥æç±»å |
| | | codeSectionVO.setCodeSecLengthType(codeBasicSecVO.getCodeSecLengthType());//ç æ®µé¿åº¦ç±»å |
| | | codeSectionVO.setPkCodeRule(codeRuleVO.getOid()); |
| | | codeSectionVO.setSecType(codeBasicSecVO.getSecType());//ç æ®µç±»å |
| | | codeSectionVO.setDescription(codeBasicSecVO.getDescription()); |
| | | codeSectionVO.setParentClassifySecOid(codeBasicSecVO.getParentClassifySecOid()); |
| | | codeSectionVO.setSectionValue(codeSectionValueVOList); |
| | | codeSectionVOList.add(codeSectionVO); |
| | | }); |
| | | } |
| | | //æå»ºè§åä¿¡æ¯ |
| | | resultCodeRuleVO.setId(codeRuleVO.getOid()); |
| | | resultCodeRuleVO.setNum(codeRuleVO.getId()); |
| | | resultCodeRuleVO.setDescription(codeRuleVO.getDescription()); |
| | | resultCodeRuleVO.setCodeSection(codeSectionVOList); |
| | | } |
| | | //æå»ºåç±»ä¿¡æ¯ |
| | | com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO classifyVO=new com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO(); |
| | | classifyVO.setId(codeClassifyDO.getOid()); |
| | | classifyVO.setLcStatus(codeClassifyDO.getLcStatus()); |
| | | classifyVO.setClassCode(codeClassifyDO.getId()); |
| | |
| | | classifyVO.setName(codeClassifyDO.getName()); |
| | | classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid()); |
| | | classifyVO.setFullPathName(codeClassifyDO.getPath()); |
| | | classifyVO.setCodeRule(resultCodeRuleVO); |
| | | classifyVOList.add(classifyVO); |
| | | }); |
| | | libraryVo.setClassify(classifyVOList); |
| | | resultLibraryVO.setClassify(classifyVOList); |
| | | }else{ |
| | | errorid = "100"; |
| | | msg="æªæ¥è¯¢å°ç¸å
³çå类信æ¯"; |
| | | } |
| | | issucess=true; |
| | | resultData.setLibrary(libraryVo); |
| | | resultClassifyRuleData.setLibrary(resultLibraryVO); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace();; |
| | | msg="æ¥è¯¢å类失败:"+e.getMessage(); |
| | | }finally { |
| | | resultData.setErrorid(errorid); |
| | | resultData.setMsg(msg); |
| | | resultClassifyVO.setResultData(resultData); |
| | | resultClassifyRuleData.setErrorid(errorid); |
| | | resultClassifyRuleData.setMsg(msg); |
| | | resultClassifyRuleVO.setData(resultClassifyRuleData); |
| | | } |
| | | if(dataType.equals("xml")){ |
| | | //ç»ç»è¿åæ¥å£ä¿¡æ¯ |
| | | XStream xStream = new XStream(new DomDriver()); |
| | | xStream.processAnnotations(XMLResultSystemVO.class); |
| | | xStream.autodetectAnnotations(true); |
| | | resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultData); |
| | | resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultClassifyRuleData); |
| | | |
| | | }else{ |
| | | Object object = JSONObject.toJSON(resultClassifyVO); |
| | | Object object = JSONObject.toJSON(resultClassifyRuleVO); |
| | | resultStr = object.toString(); |
| | | } |
| | | try { |
| | |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¸å¡ç±»å龿¥ç±»åä¼ è¾å¯¹è±¡") |
| | | public R submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) { |
| | | return ddlService.submit(ddlDTO); |
| | | try { |
| | | return ddlService.submit(ddlDTO); |
| | | } catch (Throwable e) { |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; |
| | | import com.vci.ubcs.ddl.mapper.DllDmMapper; |
| | | import com.vci.ubcs.ddl.mapper.DllMapper; |
| | | import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; |
| | | import com.vci.ubcs.starter.util.VciSpringUtil; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import org.apache.commons.collections4.BidiMap; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | |
| | | /** |
| | | * Description: åºç¨äºè¾¾æ¢¦æ°æ®ï¼çæå建表æä½sqlçå¤çå¨ |
| | |
| | | * @date 2023/4/24 |
| | | */ |
| | | @Component |
| | | public class DllDmMapperProcessor extends DllMapperProcessor{ |
| | | public class DllDmMapperProcessor extends DllMapperProcessor { |
| | | |
| | | private static final DllMapper MAPPER = VciSpringUtil.getBean(DllDmMapper.class); |
| | | |
| | |
| | | |
| | | static { |
| | | // éè¦éæ°æ å°çåæ®µç±»åå¨è¿éå |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("DOUBLE",26,8,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATE",null,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("TIMESTAMP",null,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("TIME",null,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("TEXT",null,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("CLOB",100,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",255,null,true,null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDouble, new DdlFieldMappingAttrBO("DOUBLE", 26, 8, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTInteger, new DdlFieldMappingAttrBO("INTEGER", 10, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTLong, new DdlFieldMappingAttrBO("NUMBER", 38, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTBoolean, new DdlFieldMappingAttrBO("VARCHAR", 5, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDate, new DdlFieldMappingAttrBO("DATE", null, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTDateTime, new DdlFieldMappingAttrBO("TIMESTAMP", null, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTTime, new DdlFieldMappingAttrBO("TIME", null, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTFilePath, new DdlFieldMappingAttrBO("TEXT", null, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTClob, new DdlFieldMappingAttrBO("CLOB", 100, null, true, null)); |
| | | FIELD_MAP.put(VciFieldTypeEnum.VTString, new DdlFieldMappingAttrBO("VARCHAR", 255, null, true, null)); |
| | | } |
| | | |
| | | public DllDmMapperProcessor() { |
| | | super(MAPPER); |
| | | System.out.println("-----------------"); |
| | | if (MAPPER != null){ |
| | | if (MAPPER != null) { |
| | | System.out.println("[success]::å è½½è¾¾æ¢¦æ°æ®åºDLLæä½æå¡æå"); |
| | | }else { |
| | | } else { |
| | | System.out.println("[fail]::å è½½è¾¾æ¢¦æ°æ®åºDLLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | |
| | | |
| | | @Override |
| | | protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { |
| | | return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); |
| | | return getMappingBOInMap(fieldTypeEnum, FIELD_MAP); |
| | | } |
| | | |
| | | @Override |
| | | public String getColumnTypeSql(VciFieldTypeEnum fieldType, BtmTypeAttributeVO attributeVO) { |
| | | DdlFieldMappingAttrBO mappingBO = getMappingBO(fieldType); |
| | | if (fieldType.equals(VciFieldTypeEnum.VTDouble)) { |
| | | mappingBO.setDataPrecision(attributeVO.getPrecisionLength()); |
| | | } |
| | | //å
åªé对æ°åç±»åçè¿è¡å¤ç |
| | | if (fieldType.equals(VciFieldTypeEnum.VTInteger) ){ |
| | | mappingBO.setDataLength(null); |
| | | } else if (fieldType.equals(VciFieldTypeEnum.VTDouble) || fieldType.equals(VciFieldTypeEnum.VTLong)) { |
| | | if (attributeVO.getAttributeLength() <= mappingBO.getDataLength()) { |
| | | mappingBO.setDataLength(attributeVO.getAttributeLength()); |
| | | } |
| | | }else { |
| | | mappingBO.setDataLength(attributeVO.getAttributeLength()); |
| | | } |
| | | mappingBO.setNullable(attributeVO.isNullableFlag()); |
| | | mappingBO.setDefaultValue(attributeVO.getDefaultValue()); |
| | | return mappingBO.toString() + (StringUtil.equals(attributeVO.getId().toLowerCase(Locale.ROOT), "OID".toLowerCase(Locale.ROOT)) ? StringPool.SPACE + "primary key" + StringPool.SPACE : ""); |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) { |
| | | return listFieldInMapByColumnStr(columnStr,FIELD_MAP); |
| | | return listFieldInMapByColumnStr(columnStr, FIELD_MAP); |
| | | } |
| | | |
| | | @Override |
| | | public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) { |
| | | return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP); |
| | | return getFieldTypeBeColumnStrInMap(columnStr, length, FIELD_MAP); |
| | | } |
| | | } |
| | |
| | | * @param ddlDTO ä¸å¡ç±»åä¼ è¾å¯¹è±¡ |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | R submit(BtmAndLinkTypeDdlDTO ddlDTO); |
| | | R submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable; |
| | | |
| | | /** |
| | | * æè¡¨åè·åè¡¨ä¿¡æ¯ |
| | |
| | | |
| | | private final Map<String, LinkTypeVO> idLinkMap = new ConcurrentHashMap<>(); |
| | | |
| | | private void putBtm(@NotNull BtmTypeVO... voList) throws ServiceException { |
| | | private void putBtm(@NotNull BtmTypeVO... voList) throws Throwable { |
| | | String collect = Arrays.stream(voList).map(BtmTypeVO::getId).filter(idBtmMap::containsKey).collect(Collectors.joining(",")); |
| | | if (StringUtils.isBlank(collect)) { |
| | | Arrays.stream(voList).forEach(vo -> { |
| | | idBtmMap.put(vo.getId(), vo); |
| | | }); |
| | | } else { |
| | | throw new ServiceException("ä¸å¡ç±»å:[" + collect + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | throw new Throwable("ä¸å¡ç±»å:[" + collect + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | } |
| | | } |
| | | |
| | | private void putLink(@NotNull LinkTypeVO... voList) throws ServiceException { |
| | | private void putLink(@NotNull LinkTypeVO... voList) throws Throwable { |
| | | String collect = Arrays.stream(voList).map(LinkTypeVO::getId).filter(idLinkMap::containsKey).collect(Collectors.joining(",")); |
| | | if (StringUtils.isBlank(collect)) { |
| | | Arrays.stream(voList).forEach(vo -> { |
| | | idLinkMap.put(vo.getId(), vo); |
| | | }); |
| | | } else { |
| | | throw new ServiceException("龿¥ç±»å:[" + collect + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | throw new Throwable("龿¥ç±»å:[" + collect + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | } |
| | | } |
| | | |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @Override |
| | | public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) { |
| | | public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable { |
| | | try { |
| | | List<ModifyAttributeInfo> changedList = new ArrayList<>(); |
| | | if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) { |
| | |
| | | R<List<ModifyAttributeInfo>> result = R.success("æ°æ®åºæä½æå"); |
| | | result.setData(changedList); |
| | | return result; |
| | | } catch (VciBaseException e) { |
| | | } catch (Exception e) { |
| | | try { |
| | | // 建表失败æå¼å¸¸ï¼æè·åè¿åï¼å¹¶éæ¾çº¿ç¨ä¸çå
容 |
| | | if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) { |
| | |
| | | }catch (ServiceException e2){ |
| | | throw new RuntimeException(e2.getMessage()); |
| | | } |
| | | } catch (ServiceException e) { |
| | | throw new RuntimeException(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | |
| | | import com.vci.ubcs.omd.vo.LifeCycleVO; |
| | | import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | @GetMapping("page") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "å页æ¥è¯¢çå½å¨æ",notes = "å页æ¥è¯¢çå½å¨æ") |
| | | public R<IPage<LifeCycleVO>> page(BaseQueryObject baseQueryObject){ |
| | | Map<String, String> conditionMap = baseQueryObject.getConditionMap(); |
| | | public R<IPage<LifeCycleVO>> page(BladeQueryObject baseQueryObject){ |
| | | Map<String, Object> conditionMap = baseQueryObject.getConditionMap(); |
| | | if (conditionMap == null){ |
| | | conditionMap = new HashMap<>(); |
| | | } |
| | | return R.data(lifeCycleService.listLife(conditionMap,baseQueryObject.getPageHelper())); |
| | | return R.data(lifeCycleService.listLife(conditionMap,baseQueryObject.getQuery())); |
| | | } |
| | | |
| | | |
| | |
| | | BeanMap.create(queryObj).putAll(conditionMap); |
| | | List<BtmType> list = btmTypeService.list(Condition.getQueryWrapper(queryObj).lambda().eq(BtmType::getBizDomain, domainValue).orderByAsc(BtmType::getId)); |
| | | if (CollectionUtils.isEmpty(list)){ |
| | | return R.data(null); |
| | | return R.data(new ArrayList<>()); |
| | | } |
| | | return R.data(BtmTypeWrapper.build().listEntityVO(list)); |
| | | } |
| | |
| | | ) |
| | | ).orElseGet(ArrayList::new) |
| | | ); |
| | | if (CollectionUtils.isEmpty(voList)){ |
| | | return R.data(null); |
| | | } |
| | | return R.data(voList); |
| | | } |
| | | |
| | |
| | | * @return é»è®¤åæ®µå±æ§ |
| | | */ |
| | | @Override |
| | | @GetMapping(GET_DEFAULT_ATTR_BY_BTM_ID) |
| | | public R<BtmTypeVO> getDefaultAttrByBtmId(String btmTypeId) { |
| | | return R.data(Optional.ofNullable(btmTypeService.getDefaultAttrByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new)); |
| | | } |
| | |
| | | * @return ææå段 |
| | | */ |
| | | @Override |
| | | @GetMapping(GET_ALL_ATTR_BY_BTM_ID) |
| | | public R<BtmTypeVO> getAllAttributeByBtmId(String btmTypeId) { |
| | | return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmId(btmTypeId)).orElseGet(BtmTypeVO::new)); |
| | | } |
| | |
| | | * @return ææå段 |
| | | */ |
| | | @Override |
| | | @GetMapping(GET_ALL_ATTR_BY_BTM_OID) |
| | | public R<BtmTypeVO> getAllAttributeByBtmOid(String btmTypeOid) { |
| | | return R.data(Optional.ofNullable(btmTypeService.getAllAttributeByBtmOid(btmTypeOid)).orElseGet(BtmTypeVO::new)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.omd.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.omd.entity.LifeCycleEdge; |
| | | |
| | | /** |
| | | * çå½å¨æçè¿æ¥çº¿ |
| | | * @author weidy |
| | | * @date 2023/7/4 |
| | | */ |
| | | public interface LifeCycleEdgeMapper extends BaseMapper<LifeCycleEdge> { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.omd.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.omd.dto.LifeCycleLineEventDTO; |
| | | import com.vci.ubcs.omd.entity.LifeCycleLineEvent; |
| | | |
| | | /** |
| | | * çå½å¨æè¿æ¥çº¿çäºä»¶ |
| | | * @author weidy |
| | | * @date 2023/7/4 |
| | | */ |
| | | public interface LifeCycleLineEventMapper extends BaseMapper<LifeCycleLineEvent> { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.omd.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.omd.entity.LifeCycleNode; |
| | | |
| | | /** |
| | | * çå½å¨æçèç¹åå¨ |
| | | * @author weidy |
| | | * @date 2023/7/4 |
| | | */ |
| | | public interface LifeCycleNodeMapper extends BaseMapper<LifeCycleNode> { |
| | | } |
| | |
| | | * @return ä¸å¡ç±»å |
| | | */ |
| | | BtmTypeVO getAllAttributeByBtmOid(String btmTypeOid); |
| | | |
| | | /** |
| | | * è·åå¼ç¨æä¸ªçå½å¨æçä¸å¡ç±»å |
| | | * @param lifeOid çå½å¨æçä¸»é® |
| | | * @return ä¸å¡ç±»åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | List<BtmTypeVO> selectByLifeId(String lifeId); |
| | | |
| | | /** |
| | | * ç»è®¡å¼ç¨æä¸ªçå½å¨æçä¸å¡ç±»å |
| | | * @param lifeOid çå½å¨æçä¸»é® |
| | | * @return ä¸ªæ° |
| | | */ |
| | | Integer countByLifeId(String lifeId); |
| | | } |
| | |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.omd.vo.LifeCycleVO; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import org.springblade.core.mp.support.Query; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | /** |
| | | * è·åçå½å¨æå表 |
| | | * @param conditionMap æ¥è¯¢æ¡ä»¶ |
| | | * @param pageHelper å页 |
| | | * @param query å页 |
| | | * @return çå½å¨æçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | IPage<LifeCycleVO> listLife(Map<String, String> conditionMap, PageHelper pageHelper); |
| | | IPage<LifeCycleVO> listLife(Map<String, Object> conditionMap, Query query); |
| | | |
| | | /** |
| | | * æ·»å ä¿å |
| | |
| | | if (CollectionUtils.isEmpty(existAttributeVOList)) { |
| | | throw new VciBaseException("使ç¨ç屿§é½å¨ç³»ç»ä¸ä¸åå¨ï¼è¯·å
æ¥è¯"); |
| | | } else { |
| | | Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase().trim(), t -> t))).keySet(); |
| | | Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().trim(), t -> t))).keySet(); |
| | | keyCollections.stream().forEach(s -> { |
| | | if (!existAttributeOidSet.contains(s)) { |
| | | throw new VciBaseException("使ç¨ç屿§{0}å¨ç³»ç»ä¸ä¸åå¨ï¼è¯·å
æ¥è¯", new Object[]{s}); |
| | |
| | | attributesDTOList.stream().forEachOrdered(s -> { |
| | | attributeService.checkAttribute(s); |
| | | btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now)); |
| | | attributeIdList.add(s.getId().toLowerCase().trim()); |
| | | attributeIdList.add(s.getId().trim()); |
| | | }); |
| | | //æ£æ¥å±æ§æ¯å¦é½åå¨ |
| | | boolean exists = attributeService.checkAttributeExists(attributeIdList); |
| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.api.exception.NacosException; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.omd.constant.BtmTypeConstant; |
| | |
| | | btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType)); |
| | | return btmType; |
| | | } |
| | | |
| | | /** |
| | | * è·åå¼ç¨æä¸ªçå½å¨æçä¸å¡ç±»å |
| | | * |
| | | * @param lifeId çå½å¨æçç¼å· |
| | | * @return ä¸å¡ç±»åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public List<BtmTypeVO> selectByLifeId(String lifeId) { |
| | | if(StringUtils.isBlank(lifeId)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | LambdaQueryWrapper<BtmType> query = new LambdaQueryWrapper<BtmType>(); |
| | | query.eq(BtmType::getLifeCycleId,lifeId); |
| | | return BtmTypeWrapper.build().listEntityVO(getBaseMapper().selectList(query)); |
| | | } |
| | | |
| | | /** |
| | | * ç»è®¡å¼ç¨æä¸ªçå½å¨æçä¸å¡ç±»å |
| | | * |
| | | * @param lifeId çå½å¨æçç¼å· |
| | | * @return ä¸ªæ° |
| | | */ |
| | | @Override |
| | | public Integer countByLifeId(String lifeId) { |
| | | if(StringUtils.isBlank(lifeId)){ |
| | | return 0; |
| | | } |
| | | LambdaQueryWrapper<BtmType> query = new LambdaQueryWrapper<BtmType>(); |
| | | query.eq(BtmType::getLifeCycleId,lifeId); |
| | | return baseMapper.selectCount(query).intValue(); |
| | | } |
| | | } |
| | |
| | | package com.vci.ubcs.omd.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.omd.constant.BtmTypeConstant; |
| | | import com.vci.ubcs.omd.dto.LifeCycleDTO; |
| | | import com.vci.ubcs.omd.dto.LifeCycleEdgeDTO; |
| | | import com.vci.ubcs.omd.dto.LifeCycleLineEventDTO; |
| | | import com.vci.ubcs.omd.dto.LifeCycleNodeDTO; |
| | | import com.vci.ubcs.omd.entity.LifeCycleEdge; |
| | | import com.vci.ubcs.omd.entity.LifeCycleLineEvent; |
| | | import com.vci.ubcs.omd.entity.LifeCycleNode; |
| | | import com.vci.ubcs.omd.entity.LifeCycleRule; |
| | | import com.vci.ubcs.omd.mapper.LifeCycleEdgeMapper; |
| | | import com.vci.ubcs.omd.mapper.LifeCycleLineEventMapper; |
| | | import com.vci.ubcs.omd.mapper.LifeCycleMapper; |
| | | import com.vci.ubcs.omd.mapper.LifeCycleNodeMapper; |
| | | import com.vci.ubcs.omd.repeater.DomainRepeater; |
| | | import com.vci.ubcs.omd.service.IBtmTypeService; |
| | | import com.vci.ubcs.omd.service.ILifeCycleService; |
| | | import com.vci.ubcs.omd.service.IStatusService; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.omd.vo.LifeCycleVO; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.omd.vo.StatusVO; |
| | | import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper; |
| | | import com.vci.ubcs.starter.enumpack.NewAppConstantEnum; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.constant.RegExpConstant; |
| | | import com.vci.ubcs.starter.web.util.BeanUtil; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | | /** |
| | | * çå½å¨æçæå¡ |
| | |
| | | @Service |
| | | public class LifeCycleServiceImpl extends ServiceImpl<LifeCycleMapper, LifeCycleRule> implements ILifeCycleService{ |
| | | |
| | | /** |
| | | * èç¹çæ°æ®å± |
| | | */ |
| | | @Resource |
| | | private LifeCycleNodeMapper nodeMapper; |
| | | |
| | | /** |
| | | * è¿æ¥çº¿æ°æ®å± |
| | | */ |
| | | @Resource |
| | | private LifeCycleEdgeMapper edgeMapper; |
| | | |
| | | /** |
| | | * ç¶æ |
| | | */ |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private IStatusService statusService; |
| | | |
| | | /** |
| | | * è¿æ¥çº¿çäºä»¶ |
| | | */ |
| | | @Resource |
| | | private LifeCycleLineEventMapper lineEventMapper; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»åçæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private IBtmTypeService btmTypeService; |
| | | |
| | | |
| | | /** |
| | | * è·åçå½å¨æå表 |
| | | * |
| | | * @param conditionMap æ¥è¯¢æ¡ä»¶ |
| | | * @param pageHelper å页 |
| | | * @param query å页 |
| | | * @return çå½å¨æçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public IPage<LifeCycleVO> listLife(Map<String, String> conditionMap, PageHelper pageHelper) { |
| | | return null; |
| | | public IPage<LifeCycleVO> listLife(Map<String, Object> conditionMap, Query query) { |
| | | return LifeCycleRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap,LifeCycleRule.class).lambda().orderByAsc(LifeCycleRule::getId))); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return æ·»å åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public LifeCycleVO addSave(LifeCycleDTO lifeCycleDTO) { |
| | | return null; |
| | | VciBaseUtil.alertNotNull(lifeCycleDTO,"çå½å¨æä¿¡æ¯",lifeCycleDTO.getId(),"çå½å¨æçç¼å·",lifeCycleDTO.getName(),"çå½å¨æåç§°",lifeCycleDTO.getNodes(),"çå½å¨æçèç¹",lifeCycleDTO.getStartStatus(),"èµ·å§ç¶æ"); |
| | | //å
æ¥è¯¢æ¯å¦åå¨ |
| | | QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); |
| | | wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT)); |
| | | if(baseMapper.selectCount(wrapper)>0){ |
| | | throw new VciBaseException("çå½å¨æçç¼å·ä¸è½éå¤"); |
| | | } |
| | | String lifeOid = addLifeCycle(lifeCycleDTO); |
| | | return LifeCycleRuleWrapper.build().entityVO(baseMapper.selectById(lifeOid)); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å çå½å¨æ |
| | | * @param lifeCycleDTO |
| | | * @return ä¸»é® |
| | | */ |
| | | private String addLifeCycle(LifeCycleDTO lifeCycleDTO){ |
| | | //ç¼å·ä¸è½æç¹æ®çå
容 |
| | | if(!lifeCycleDTO.getId().matches(RegExpConstant.LETTER)){ |
| | | throw new VciBaseException("çå½å¨æçç¼å·åªè½æ¯åæ¯"); |
| | | } |
| | | LifeCycleRule life = LifeCycleRuleWrapper.build().copyDTO2DO(lifeCycleDTO); |
| | | life.setOid(VciBaseUtil.getPk()); |
| | | String creator = AuthUtil.getUserAccount(); |
| | | Date now = new Date(); |
| | | life.setBtmname(BtmTypeConstant.LIFE_CYCLE); |
| | | life.setOwner(creator); |
| | | life.setCreator(creator); |
| | | life.setCreateTime(now); |
| | | life.setLastModifier(creator); |
| | | life.setLastModifyTime(now); |
| | | life.setTs(now); |
| | | |
| | | List<String> statusList = new ArrayList<>(); |
| | | //å¤çèç¹ |
| | | if(!CollectionUtils.isEmpty(lifeCycleDTO.getNodes())){ |
| | | lifeCycleDTO.getNodes().stream().forEach(nodeDTO->{ |
| | | addLifeCycleNode(nodeDTO,life.getOid(),creator,now); |
| | | statusList.add(nodeDTO.getId()); |
| | | }); |
| | | } |
| | | if(!statusList.contains(life.getStartStatus())){ |
| | | throw new VciBaseException("èµ·å§ç¶æä¸å¨çå½å¨æçç»å¸ä¸"); |
| | | } |
| | | //夿ææçèç¹å¨ç³»ç»éé½åå¨ |
| | | List<String> existStatusIdList = statusService.listStatusByIdCollection(statusList).stream().map(StatusVO::getId).collect(Collectors.toList()); |
| | | String unExistStatus = statusList.stream().filter(s -> !existStatusIdList.contains(s)).collect(Collectors.joining(",")); |
| | | if(StringUtils.hasLength(unExistStatus)){ |
| | | throw new VciBaseException(unExistStatus + "è¿äºç¶æå¨ç¶ææ± éä¸åå¨ï¼ä¸è½æ·»å å°çå½å¨æä¸"); |
| | | } |
| | | //å¤çè¾¹çåè¿æ¥çº¿ |
| | | if(!CollectionUtils.isEmpty(lifeCycleDTO.getEdges())){ |
| | | lifeCycleDTO.getEdges().stream().forEach(edgeDTO->{ |
| | | String edgeOid = addLifeCycleEdge(edgeDTO,statusList,life.getOid(),creator,now); |
| | | if(!CollectionUtils.isEmpty(edgeDTO.getEvents())){ |
| | | //æäºä»¶ |
| | | edgeDTO.getEvents().stream().forEach(eventDTO->{ |
| | | addLifeCycleLineEvent(eventDTO,edgeOid,creator,now); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | baseMapper.insert(life); |
| | | return life.getOid(); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å çå½å¨æçè¿æ¥çº¿ä¸çäºä»¶ |
| | | * @param eventDTO |
| | | * @param edgeOid |
| | | * @param creator |
| | | * @param now |
| | | */ |
| | | private void addLifeCycleLineEvent(LifeCycleLineEventDTO eventDTO,String edgeOid,String creator,Date now){ |
| | | VciBaseUtil.alertNotNull(eventDTO.getBizDomain(),"æå±é¢å",eventDTO.getEventFullName(),"äºä»¶çå
¨è·¯å¾"); |
| | | NewAppConstantEnum[] values = NewAppConstantEnum.values(); |
| | | Boolean fined = false; |
| | | for (int i = 0; i < values.length; i++) { |
| | | NewAppConstantEnum value = values[i]; |
| | | if(value.getName().equalsIgnoreCase(eventDTO.getBizDomain())){ |
| | | fined = true; |
| | | break; |
| | | } |
| | | } |
| | | if(!fined){ |
| | | throw new VciBaseException(eventDTO.getBizDomain() + "è¿ä¸ªé¢åè¿æ²¡æå¼æ¾,请让å¼å人åå¨NewAppConstantEnumç±»ä¸æ·»å "); |
| | | } |
| | | LifeCycleLineEvent event = org.springblade.core.tool.utils.BeanUtil.copy(eventDTO, LifeCycleLineEvent.class); |
| | | event.setOid(VciBaseUtil.getPk()); |
| | | event.setPkLifeCycleEdge(edgeOid); |
| | | event.setBtmname(BtmTypeConstant.LIFE_CYCLE_LINE_EVENT); |
| | | event.setOwner(creator); |
| | | event.setCreator(creator); |
| | | event.setCreateTime(now); |
| | | event.setLastModifier(creator); |
| | | event.setLastModifyTime(now); |
| | | event.setTs(now); |
| | | lineEventMapper.insert(event); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å çå½å¨æçèç¹ |
| | | * @param nodeDTO |
| | | * @param lifeOid |
| | | * @param creator |
| | | * @param now |
| | | */ |
| | | private void addLifeCycleNode(LifeCycleNodeDTO nodeDTO,String lifeOid,String creator,Date now){ |
| | | VciBaseUtil.alertNotNull(nodeDTO.getId(),"ç¶ææ è¯",nodeDTO.getName(),"ç¶æåç§°"); |
| | | LifeCycleNode node = org.springblade.core.tool.utils.BeanUtil.copy(nodeDTO, LifeCycleNode.class); |
| | | node.setOid(VciBaseUtil.getPk()); |
| | | node.setLifeCycleOid(lifeOid); |
| | | node.setBtmname(BtmTypeConstant.LIFE_CYCLE_NODE); |
| | | node.setOwner(creator); |
| | | node.setCreator(creator); |
| | | node.setCreateTime(now); |
| | | node.setLastModifier(creator); |
| | | node.setLastModifyTime(now); |
| | | node.setTs(now); |
| | | nodeMapper.insert(node); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å çå½å¨æçè¿æ¥çº¿ |
| | | * @param edgeDTO |
| | | * @param statusList |
| | | * @param lifeOid |
| | | * @param creator |
| | | * @param now |
| | | * @return è¿æ¥çº¿çä¸»é® |
| | | */ |
| | | private String addLifeCycleEdge(LifeCycleEdgeDTO edgeDTO,List<String> statusList,String lifeOid,String creator,Date now){ |
| | | VciBaseUtil.alertNotNull(edgeDTO.getSource(),"æ¥æºç¶æ",edgeDTO.getTarget(),"ç®æ ç¶æ",edgeDTO.getName(),"è¿æ¥çº¿åç§°"); |
| | | if(!statusList.contains(edgeDTO.getSource()) |
| | | ||!statusList.contains(edgeDTO.getTarget())){ |
| | | throw new VciBaseException("æ°æ®é误ï¼[" + edgeDTO.getName() + "]è¿æ¥çº¿ä¸ä¸ä½¿ç¨çç¶ææ²¡ææ¾å°"); |
| | | } |
| | | LifeCycleEdge edge = org.springblade.core.tool.utils.BeanUtil.copy(edgeDTO, LifeCycleEdge.class); |
| | | edge.setOid(VciBaseUtil.getPk()); |
| | | edge.setLifeCycleOid(lifeOid); |
| | | edge.setBtmname(BtmTypeConstant.LIFE_CYCLE_EDGE); |
| | | edge.setOwner(creator); |
| | | edge.setCreator(creator); |
| | | edge.setCreateTime(now); |
| | | edge.setLastModifier(creator); |
| | | edge.setLastModifyTime(now); |
| | | edge.setTs(now); |
| | | edgeMapper.insert(edge); |
| | | return edge.getOid(); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * æ¹éæ·»å å
容 |
| | |
| | | * @return æ·»å åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public List<LifeCycleVO> batchAddSave(List<LifeCycleDTO> lifeCycleDTOs) { |
| | | return null; |
| | | VciBaseUtil.alertNotNull(lifeCycleDTOs,"çå½å¨æçä¿¡æ¯"); |
| | | //å
é使 ¡éªä¸ä¸ |
| | | if(lifeCycleDTOs.stream().anyMatch(s->!StringUtils.hasLength(s.getId()) || !StringUtils.hasLength(s.getName()) |
| | | || CollectionUtils.isEmpty(s.getNodes()) || !StringUtils.hasLength(s.getStartStatus()))){ |
| | | throw new VciBaseException("çå½å¨æçç¼å·ï¼åç§°ï¼èµ·å§ç¶æï¼å
å«çèç¹ä¸è½ä¸ºç©º"); |
| | | } |
| | | //ç»ä¸æ ¡éªéå¤ |
| | | Map<String, List<LifeCycleDTO>> dtoMap = lifeCycleDTOs.stream().collect(Collectors.groupingBy(LifeCycleDTO::getId)); |
| | | dtoMap.forEach((id,dtos)->{ |
| | | if(dtos.size()>1){ |
| | | throw new VciBaseException("ç¼å·ä¸ºã" + id + "ãççå½å¨æéå¤"); |
| | | } |
| | | }); |
| | | VciBaseUtil.switchCollectionForOracleIn(dtoMap.keySet()).stream().forEach( |
| | | ids->{ |
| | | QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); |
| | | ids.stream().forEach(id->{ |
| | | wrapper.eq("lower(id)",id.toLowerCase(Locale.ROOT)); |
| | | wrapper.or(); |
| | | }); |
| | | wrapper.eq("1","2"); |
| | | if(baseMapper.selectCount(wrapper)>0){ |
| | | throw new VciBaseException("çå½å¨æçç¼å·ä¸è½éå¤"); |
| | | } |
| | | } |
| | | ); |
| | | //å
循ç¯å¤çä¸ï¼å 为ç°å¨å½åç¨æ·æ²¡æå¤ç为线ç¨å
±äº«çï¼åé¢ä¿®æ¹åï¼å¯ä»¥ç¨å¹¶åæµå»å¤ç |
| | | List<String> oidList = new ArrayList<>(); |
| | | lifeCycleDTOs.stream().forEach(dto->{ |
| | | oidList.add(addLifeCycle(dto)); |
| | | }); |
| | | return LifeCycleRuleWrapper.build().listEntityVO(listByIds(oidList)); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param lifeCycleDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public void delete(LifeCycleDTO lifeCycleDTO) { |
| | | VciBaseUtil.alertNotNull(lifeCycleDTO,"æ°æ®ä¼ è¾å¯¹è±¡",lifeCycleDTO.getOid(),"主é®"); |
| | | LifeCycleRule rule = null; |
| | | try { |
| | | rule = getById(lifeCycleDTO.getOid()); |
| | | }catch (Throwable e){ |
| | | throw new VciBaseException("使ç¨ä¸»é®è·å对象åºéï¼è¿ä¸ªæ°æ®å¯è½ä¸åå¨ï¼æè
æ°æ®éå¤äº"); |
| | | } |
| | | //æ£æ¥è¢«å¼ç¨ä¸è½å é¤ |
| | | Integer count = btmTypeService.countByLifeId(lifeCycleDTO.getOid()); |
| | | if(count !=null && count>0){ |
| | | throw new VciBaseException("çå½å¨æè¢«ä½¿ç¨ï¼ä¸è½è¢«å é¤"); |
| | | } |
| | | //æä»¬æ¥è¯¢å
¨é¨nodeåedgeï¼ç¶åä¸èµ·å é¤ |
| | | |
| | | } |
| | | |
| | | |
| | | private List<LifeCycleNode> selectNodeByLifeOid(String lifeOid){ |
| | | if(!StringUtils.hasLength(lifeOid)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | LambdaQueryWrapper<LifeCycleNode> query = new LambdaQueryWrapper<LifeCycleNode>(); |
| | | query.eq(LifeCycleNode::getLifeCycleOid,lifeOid); |
| | | return nodeMapper.selectList(query); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤çå½å¨æ |
| | | * |
| | |
| | | import com.vci.ubcs.omd.dto.AttributeDTO; |
| | | import com.vci.ubcs.omd.entity.Attribute; |
| | | import com.vci.ubcs.omd.vo.*; |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.system.cache.DictBizCache; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | |
| | | attribute.setLastModifier(currentUser); |
| | | attribute.setLastModifyTime(now); |
| | | attribute.setTs(now); |
| | | if (StringUtil.equals(dto.getUsingDict(),BooleanEnum.TRUE.getValue())){ |
| | | attribute.setUsingDict(BooleanEnum.TRUE.getValue()); |
| | | } |
| | | return attribute; |
| | | } |
| | | |
| | |
| | | public BtmTypeAttributeVO entityVO(BtmTypeAttribute entity) { |
| | | BtmTypeAttributeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, BtmTypeAttributeVO.class)); |
| | | // å¨è¿é设置æä¸¾æ¾ç¤ºå¼ |
| | | vo.setPrecisionLength(vo.getPrecisionLength() == -1 ? null : vo.getPrecisionLength()); |
| | | vo.setScaleLength(vo.getScaleLength() == -1 ? null : vo.getPrecisionLength()); |
| | | vo.setAttrDataTypeText(EnumCache.getValue("attributeType",vo.getAttrDataType())); |
| | | return vo; |
| | | } |
| | |
| | | package com.vci.ubcs.omd.wrapper; |
| | | |
| | | import com.vci.ubcs.omd.dto.LifeCycleDTO; |
| | | import com.vci.ubcs.omd.entity.LifeCycleRule; |
| | | import com.vci.ubcs.omd.vo.LifeCycleVO; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | |
| | | } |
| | | |
| | | |
| | | public LifeCycleRule copyDTO2DO(LifeCycleDTO lifeCycleDTO) { |
| | | LifeCycleRule LifeCycleRule = BeanUtil.copy(lifeCycleDTO, LifeCycleRule.class); |
| | | return LifeCycleRule; |
| | | } |
| | | } |