已修改70个文件
已复制2个文件
已重命名5个文件
已添加27个文件
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const initTree = () => { |
| | | return request({ |
| | | url: '/api/ubcs-omd/btm-type/tree-domain', |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | export const refOnLoad = (domain) => { |
| | | return request({ |
| | | url: '/api/ubcs-omd/btm-type/get-from-table', |
| | | method: 'get', |
| | | params: { |
| | | domain: domain |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getDomain = () => { |
| | | return request({ |
| | | url: '/api/ubcs-omd/btm-type/domain', |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | export const saveFromTable = (list,domain) => { |
| | | return request({ |
| | | url: '/api/ubcs-omd/btm-type/save-from-table/' + domain, |
| | | method: 'post', |
| | | data: list |
| | | }) |
| | | } |
| | | |
| | | export const getDetail = (oid) => { |
| | | return request({ |
| | | url: '/api/ubcs-omd/btm-type/detail', |
| | | method: 'get', |
| | | params: { |
| | | oid: oid |
| | | } |
| | | }) |
| | | } |
| | |
| | | type: "success", |
| | | message: "æä½æå!" |
| | | }); |
| | | <<<<<<< HEAD |
| | | }) |
| | | }, |
| | | //åºç¡ç 段æ¥è¯¢ |
| | |
| | | this.$message({ |
| | | type: "success", |
| | | message: "æä½æå!" |
| | | ======= |
| | | }, |
| | | //å·æ°ä½¿ç¨èå´å表 |
| | | refreshUseRangeChange(){ |
| | | this.getRangeCodeList(); |
| | | }, |
| | | //åå»ç¼ç è§åå®ç°è¡éæ© |
| | | codeRuleRowClick (row) { |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = row; |
| | | this.$refs.crud.setCurrentRow(row); |
| | | this.$refs.crud.toggleRowSelection(row); //éä¸å½åè¡ |
| | | this.loadBasic(row); |
| | | }, |
| | | // å¯ç¨ä¸åç¨ |
| | | enableOrDeactivatse(oId,update){ |
| | | updateStatus({"oid":oId,"ts":new Date().getTime,"update":update}).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "æä½æå!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | >>>>>>> 7938e5bedb3ff3b17dae51eb9588e8c8e71136c2 |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <<<<<<< HEAD |
| | | <style> |
| | | ======= |
| | | <style scope> |
| | | |
| | | .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search { |
| | | margin-bottom: -15px; |
| | | } |
| | | |
| | | .code-rule-crud > .avue-crud__pagination { |
| | | padding: 14px 0 2px 20px; |
| | | } |
| | | |
| | | |
| | | .clone-input-textarea > .el-form-item__content { |
| | | width: 495px; |
| | | } |
| | | |
| | | .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .fixed-avue-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .other-clone-codebasic-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .other-clone-coderule-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .el-table--small .el-table__cell { |
| | | padding: 3px 0; |
| | | } |
| | | |
| | | .classify_value_box > .el-scrollbar { |
| | | height: 95%; |
| | | } |
| | | |
| | | .basic-container > .el-card > .el-card__body { |
| | | margin: -10px 0; |
| | | } |
| | | .code-basicsec-container{ |
| | | padding: 1px 6px; |
| | | } |
| | | |
| | | >>>>>>> 7938e5bedb3ff3b17dae51eb9588e8c8e71136c2 |
| | | .el-divider--horizontal { |
| | | margin-top: 19px !important; |
| | | margin-bottom: -20px !important; |
| | |
| | | <template> |
| | | |
| | | <el-container> |
| | | <el-header> |
| | | <el-button type="primary" @click="businessAdd">æ°å¢</el-button> |
| | | <el-button type="primary" @click="businessEdit">ä¿®æ¹</el-button> |
| | | <el-button type="primary" @click="selectFromTable">ä»å·²æä¸è·å</el-button> |
| | | </el-header> |
| | | <el-container> |
| | | <el-aside width="240px"> |
| | | <basic-container> |
| | | <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick"> |
| | | <span class="el-tree-node__label" slot-scope="{ node, data }"> |
| | | <span> |
| | | <i class="el-icon-star-on"></i> |
| | | {{ (node || {}).label }} |
| | | </span> |
| | | </span> |
| | | </avue-tree> |
| | | </basic-container> |
| | | </el-aside> |
| | | <el-container> |
| | | <el-main> |
| | | <!-- åºæ¬ä¿¡æ¯--> |
| | | <basic-container> |
| | | <p style="margin-top: 10px;font-weight: 570;font-size: 19px">åºæ¬ä¿¡æ¯</p> |
| | | <avue-crud |
| | | v-model="objs" |
| | | :data="basicData" |
| | | :option="basicOption" |
| | | @row-save="basicSave" |
| | | > |
| | | <!-- çæ¬è§å--> |
| | | <template slot="rulesForm" slot-scope="{disabled,size}"> |
| | | <div> |
| | | <el-input v-if="rulesFalg==false" v-model="objs.tex" :size="size" placeholder="请è¾å
¥çæ¬å·è§å" |
| | | style="width: 290px"></el-input> |
| | | <el-select v-if="rulesFalg" v-model="objs.select" placeholder="è¯·éæ©çæ¬å·è§å" style="max-width: 300px"> |
| | | <el-option label="æµè¯1" value="1"></el-option> |
| | | <el-option label="æµè¯2" value="2"></el-option> |
| | | <el-option label="æµè¯3" value="3"></el-option> |
| | | </el-select> |
| | | <el-button style="margin-bottom: 5px;margin-left: 10px" type="primary" @click="handelRules"> |
| | | {{ rulesFalg == false ? "éæ©çæ¬å·è§å" : "æå¨è¾å
¥" }} |
| | | </el-button> |
| | | </div> |
| | | <el-descriptions class="margin-top" :column="3" :size="size" border> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-finished"></i> |
| | | è±æåç§° |
| | | </template> |
| | | <!-- çå½å¨æ--> |
| | | <template slot="lifeCycleForm"> |
| | | <el-select v-model="objs.select" placeholder="è¯·éæ©çå½å¨æ" style="max-width: 300px"> |
| | | <el-option label="æµè¯1" value="1"></el-option> |
| | | <el-option label="æµè¯2" value="2"></el-option> |
| | | <el-option label="æµè¯3" value="3"></el-option> |
| | | </el-select> |
| | | <el-button style="margin-bottom: 5px;display: inline-block;margin-left: 10px" type="primary" |
| | | @click="handelLife">çå½å¨æå表 |
| | | </el-button> |
| | | {{ obj.id }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-info"></i> |
| | | 䏿åç§° |
| | | </template> |
| | | {{ obj.name }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-date"></i> |
| | | æ°æ®åºè¡¨å |
| | | </template> |
| | | {{ obj.tableName }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-folder-opened"></i> |
| | | æå±é¢å |
| | | </template> |
| | | {{ obj.domain }} |
| | | </el-descriptions-item> |
| | | <!-- <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-s-ticket"></i> |
| | | æ ç¾ |
| | | </template> |
| | | {{obj.hashtag}} |
| | | </el-descriptions-item> --> |
| | | <!-- <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-arrow-up"></i> |
| | | ç»§æ¿èª |
| | | </template> |
| | | {{ obj.sss }} |
| | | </el-descriptions-item> --> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-s-check"></i> |
| | | çæ¬è§å |
| | | </template> |
| | | {{ obj.versionRule }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-refresh-right"></i> |
| | | çå½å¨æ |
| | | </template> |
| | | {{ obj.lifeCycleId }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-view"></i> |
| | | è§å¾ |
| | | </template> |
| | | {{ obj.viewFlag }} |
| | | </el-descriptions-item> |
| | | <!-- <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-arrow-down"></i> |
| | | å®ç°ç±» |
| | | </template> |
| | | {{ obj.implClass }} |
| | | </el-descriptions-item> --> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-chat-line-square"></i> |
| | | æè¿° |
| | | </template> |
| | | {{ obj.description }} |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </basic-container> |
| | | <!-- 屿§å表--> |
| | | <basic-container> |
| | | <p style="margin-top: 10px;font-weight: 570;font-size: 19px">屿§å表</p> |
| | | <avue-crud v-model="obj" :data="obj.attributes" :option="loadOption" @row-save="loadSave"></avue-crud> |
| | | </basic-container> |
| | | </el-main> |
| | | <el-dialog :visible="ref.visible" title="仿°æ®åºä¸æ·»å " width="700px" append-to-body @close="dialoghandelfalse"> |
| | | éæ©é¢åï¼ |
| | | <el-select v-model="domain" placeholder="è¯·éæ©" @change="refOnLoad"> |
| | | <el-option v-for="item in domainOptions" :key="item" :label="item" :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | <avue-crud class="businessCrud" v-model="ref.form" :option="ref.option" :data="ref.data" @selection-change="selectionChange"> |
| | | </avue-crud> |
| | | <el-dialog :visible.sync="packageLifeBox" |
| | | append-to-body |
| | | title="æ¥ç使ç¨èå´" |
| | | width="1000px"> |
| | | <Businpackage></Businpackage> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialoghandelfalse">å æ¶</el-button> |
| | | <el-button type="primary" @click="dialoghandeltrue">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | | <!-- 屿§å表--> |
| | | <basic-container> |
| | | <p style="margin-top: 10px;font-weight: 570;font-size: 19px">屿§å表</p> |
| | | <avue-crud |
| | | v-model="obj" |
| | | :data="loadData" |
| | | :option="loadOption" |
| | | @row-save="loadSave" |
| | | ></avue-crud> |
| | | </basic-container> |
| | | </el-main> |
| | | </el-container> |
| | | </el-container> |
| | | <business-add ref="btmAdd" :btmType="addOption.btmType" :domainOption="domainOptions"> |
| | | </business-add> |
| | | </el-container> |
| | | </template> |
| | | <script> |
| | | import { |
| | | initTree, |
| | | refOnLoad, |
| | | getDomain, |
| | | saveFromTable, |
| | | getDetail |
| | | } from "@/api/omd/btmType" |
| | | export default { |
| | | name: "Business", |
| | | data() { |
| | |
| | | //çæ¬è§åç¶æ |
| | | rulesFalg: false, |
| | | obj: {}, |
| | | treeData: [{ |
| | | value: 0, |
| | | label: 'ä¸å¡ç±»åæ ', |
| | | children: [ |
| | | { |
| | | value: 1, |
| | | label: 'A', |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: 'B', |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: 'C', |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: 'D', |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: 'E', |
| | | } |
| | | ] |
| | | }], |
| | | selectionList: [], |
| | | treeData: [], |
| | | treeOption: { |
| | | defaultExpandAll: true, |
| | | }, |
| | | loadData: [], |
| | | loadData1: [ |
| | | { |
| | | name: 'å¼ ä¸', |
| | | business: 'æµè¯', |
| | | attrType: "æµè¯", |
| | | default: "æµè¯", |
| | | explain: "æµè¯è¯´æ" |
| | | }, |
| | | { |
| | | name: 'æå', |
| | | business: 'æµè¯', |
| | | attrType: "æµè¯", |
| | | default: "æµè¯", |
| | | explain: "æµè¯è¯´æ" |
| | | title: 'ä¸å¡ç±»åæ ', |
| | | props: { |
| | | labelText: '', |
| | | label: 'name', |
| | | value: 'oid', |
| | | children: 'childList', |
| | | } |
| | | ], |
| | | loadData2: [ |
| | | { |
| | | name: 'çäº', |
| | | business: 'æµè¯', |
| | | attrType: "æµè¯", |
| | | default: "æµè¯", |
| | | explain: "æµè¯è¯´æ" |
| | | }, |
| | | { |
| | | name: 'å®å
', |
| | | business: 'æµè¯', |
| | | attrType: "æµè¯", |
| | | default: "æµè¯", |
| | | explain: "æµè¯è¯´æ" |
| | | } |
| | | ], |
| | | addOption:{ |
| | | btmType:{}, |
| | | }, |
| | | loadOption: { |
| | | border: true, |
| | | height: 422, |
| | | height: 466, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | highlightCurrentRow: true, |
| | | refreshBtn:false, |
| | | columnBtn:false, |
| | | column: [ |
| | | { |
| | | label: '屿§å', |
| | | prop: 'name' |
| | | }, |
| | | { |
| | | label: 'ä¸å¡ç±»å', |
| | | prop: 'business' |
| | | label: '屿§è±æåç§°', |
| | | prop: 'id', |
| | | align: 'center' |
| | | }, { |
| | | label: '屿§ä¸æåç§°', |
| | | prop: 'name', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "屿§ç±»å", |
| | | prop: "attrType" |
| | | prop: "attrDataType", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "é»è®¤å¼", |
| | | prop: "default", |
| | | prop: "defaultValue", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "说æ", |
| | | prop: "explain" |
| | | prop: "description", |
| | | align: 'center' |
| | | } |
| | | ] |
| | | }, |
| | | //åºæ¬ä¿¡æ¯ |
| | | objs: { |
| | | tex: "", |
| | | select: "", |
| | | lifeTex: "" |
| | | }, |
| | | basicData: [], |
| | | basicData1: [ |
| | | { |
| | | typeName: "æµè¯1", |
| | | tag: "客æ·", |
| | | inherit: "æµè¯", |
| | | implement: "æµè¯", |
| | | lifeCycle: "卿", |
| | | desc: "è¿æ¯ä¸ä¸ªæè¿°" |
| | | } |
| | | ], |
| | | basicData2: [ |
| | | { |
| | | typeName: "æµè¯2", |
| | | tag: "客æ·", |
| | | inherit: "æµè¯", |
| | | implement: "æµè¯", |
| | | lifeCycle: "卿", |
| | | desc: "è¿æ¯ä¸ä¸ªæè¿°" |
| | | } |
| | | ], |
| | | basicOption: { |
| | | domain: null, |
| | | domainOptions: [], |
| | | ref: { |
| | | // ä»è¡¨ä¸éæ©dialogç¶æ |
| | | visible: false, |
| | | form: {}, |
| | | option: { |
| | | height: "550px", |
| | | selection: true, |
| | | headerAlign: 'center', |
| | | border: true, |
| | | height: 88, |
| | | index: true, |
| | | rowKey: 'id', |
| | | tabs: true, |
| | | addBtn: false, |
| | | menu: false, |
| | | highlightCurrentRow: true, |
| | | column: [ |
| | | { |
| | | label: "ç±»ååç§°", |
| | | prop: "typeName", |
| | | label: '表å', |
| | | prop: 'tableName', |
| | | align: 'center', |
| | | display: false |
| | | }, |
| | | { |
| | | label: "æ ç¾", |
| | | prop: "tag", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "ç»§æ¿èª", |
| | | prop: "inherit", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "å®ç°ç±»", |
| | | prop: "implement", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "æè¿°", |
| | | prop: "desc", |
| | | label: 'æè¿°', |
| | | prop: 'description', |
| | | align: 'center', |
| | | display: false |
| | | } |
| | | ], |
| | | group: [ |
| | | { |
| | | label: "åºæ¬ä¿¡æ¯", |
| | | column: [ |
| | | { |
| | | label: "ç±»ååç§°", |
| | | prop: "typeName" |
| | | }, |
| | | { |
| | | label: "æ ç¾", |
| | | prop: "tag" |
| | | }, |
| | | { |
| | | label: "ç»§æ¿èª", |
| | | prop: "inherit" |
| | | }, |
| | | { |
| | | label: "æ¯å¦å®ä¾å", |
| | | prop: "case", |
| | | type: "switch", |
| | | align: "center", |
| | | hide: true, |
| | | labelWidth: 90, |
| | | dicData: [ |
| | | { |
| | | label: "å¦", |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: "æ¯", |
| | | value: 1 |
| | | } |
| | | ], |
| | | }, |
| | | { |
| | | label: "æè¿°", |
| | | prop: "desc", |
| | | type: "textarea" |
| | | }, |
| | | { |
| | | label: "å®ç°ç±»", |
| | | prop: "implement" |
| | | }, |
| | | |
| | | ] |
| | | }, |
| | | { |
| | | label: "çæ¬è§å", |
| | | column: [ |
| | | { |
| | | label: 'çæ¬è§å', |
| | | prop: 'radio', |
| | | type: 'radio', |
| | | button: true, |
| | | change: this.radioChange, |
| | | value: 0, |
| | | dicData: [{ |
| | | label: 'ä¸å¯ä¿®è®¢', |
| | | value: 0 |
| | | }, { |
| | | label: 'éç¨ä¸çº§çæ¬ç®¡ç', |
| | | value: 1 |
| | | }, { |
| | | label: 'éç¨äºçº§çæ¬ç®¡ç', |
| | | value: 2 |
| | | data: [{ |
| | | tableName: '1', |
| | | description: '2' |
| | | }] |
| | | }, |
| | | { |
| | | label: "çæ¬å·è§å", |
| | | prop: "rules", |
| | | display: true, |
| | | formslot: true, |
| | | }, |
| | | { |
| | | label: "åé符", |
| | | prop: "interval", |
| | | type: "select", |
| | | display: true, |
| | | dicData: [ |
| | | { |
| | | label: ".", |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: "-", |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: " ", |
| | | value: 2 |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: 'çæ¬¡å·è§å', |
| | | prop: 'radioRules', |
| | | type: 'radio', |
| | | display: true, |
| | | dicData: [{ |
| | | label: '1.2.3...', |
| | | value: 0 |
| | | }, { |
| | | label: 'a.b.c...', |
| | | value: 1 |
| | | }, { |
| | | label: '0.1.2...', |
| | | value: 2 |
| | | }] |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | label: "çå½å¨æ", |
| | | column: [ |
| | | { |
| | | label: "çå½å¨æ", |
| | | prop: "lifeCycle" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | } |
| | | }, |
| | | created() { |
| | | this.loadData = this.loadData1; |
| | | this.basicData = this.basicData1 |
| | | |
| | | this.initTreeOnLoad(); |
| | | this.initDomainOption(); |
| | | }, |
| | | methods: { |
| | | //çå½å¨æå¯¹è¯æ¡åæ¶ç¹å»äºä»¶ |
| | |
| | | } |
| | | }, |
| | | nodeClick(data) { |
| | | if (data.value == 1) { |
| | | this.loadData = this.loadData1; |
| | | this.basicData = this.basicData1 |
| | | } else if (data.value == 2) { |
| | | this.loadData = this.loadData2; |
| | | this.basicData = this.basicData2 |
| | | } |
| | | this.$message.success(JSON.stringify(data)) |
| | | } |
| | | getDetail(data.oid).then(res => { |
| | | this.obj = res.data.data; |
| | | }) |
| | | }, |
| | | // åºæ¬ä¿¡æ¯æ·»å |
| | | basicSave(row, done, loading) { |
| | |
| | | }).catch(() => { |
| | | loading() |
| | | }) |
| | | }, |
| | | selectFromTable() { |
| | | console.log('è·å'); |
| | | this.ref.visible = true; |
| | | }, |
| | | refOnLoad(domain) { |
| | | refOnLoad(domain).then(res => { |
| | | this.ref.data = res.data.data; |
| | | }) |
| | | }, |
| | | initTreeOnLoad() { |
| | | initTree().then(res => { |
| | | console.log('123'); |
| | | this.treeData = res.data.data; |
| | | }); |
| | | }, |
| | | initDomainOption() { |
| | | getDomain().then(res => { |
| | | this.domainOptions = res.data.data; |
| | | }) |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | console.log(this.selectionList); |
| | | }, |
| | | dialoghandelfalse() { |
| | | this.ref.visible = false; |
| | | this.selectionList = []; |
| | | this.domain = null; |
| | | }, |
| | | dialoghandeltrue() { |
| | | saveFromTable(this.selectionList, this.domain).then(res => { |
| | | this.$message.success('ä¿åæå'); |
| | | this.dialoghandelfalse(); |
| | | this.initTreeOnLoad(); |
| | | }) |
| | | }, |
| | | businessAdd(){ |
| | | this.$refs.btmAdd.showSubmitDialog = true; |
| | | console.log('æ·»å '); |
| | | }, |
| | | businessEdit(){ |
| | | this.addOption.btmType = this.obj; |
| | | this.$refs.addOption.showSubmitDialog = true; |
| | | console.log('ç¼è¾'); |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | .businessCrud > .el-card > .el-card__body > .avue-crud_menu{ |
| | | display: none!important; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog |
| | | title="ä¸å¡ç±»å" |
| | | :visible.sync="showSubmitDialog" |
| | | append-to-body |
| | | @close="closeSubmitDialog" |
| | | width="70%" |
| | | > |
| | | <el-form ref="form" :model="btmType" show-message="true" inline> |
| | | <el-form-item label="è±æåç§°:" label-width="100px"> |
| | | <el-input v-model="btmType.id" prefix-icon="el-icon-finished"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="䏿åç§°:" label-width="100px"> |
| | | <el-input v-model="btmType.name" prefix-icon="el-icon-info"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ°æ®åºè¡¨å:" label-width="100px"> |
| | | <el-input v-model="btmType.tableName" prefix-icon="el-icon-date"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå±é¢å:" label-width="100px"> |
| | | <el-select v-model="btmType.domain" prefix-icon="el-icon-folder-opened"> |
| | | <el-option v-for="item in domainOption" |
| | | :label="item"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="çæ¬è§å:" label-width="100px"> |
| | | <el-input v-model="btmType.revisionRuleId" prefix-icon="el-icon-s-check"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="çå½å¨æ:" label-width="100px"> |
| | | <el-input v-model="btmType.lifeCycleId" prefix-icon="el-icon-refresh-right"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è§å¾:" label-width="100px"> |
| | | <el-input v-model="btmType.view" prefix-icon="el-icon-view"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æè¿°:" label-width="100px"> |
| | | <el-input v-model="btmType.description" |
| | | prefix-icon="el-icon-chat-line-square" |
| | | style="width:254%;"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <avue-crud :option="option" :data="btmType.attributes"></avue-crud> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { } from '@/api/omd/btmType'; |
| | | import { } from '@/api/omd/OmdAttribute'; |
| | | export default { |
| | | name: 'BusinessAdd', |
| | | props: { |
| | | btmType:{ |
| | | type: Object |
| | | }, |
| | | domainOption:{ |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | showSubmitDialog : false, |
| | | option: { |
| | | height: "330px", |
| | | selection: true, |
| | | headerAlign: 'center', |
| | | border: true, |
| | | index: true, |
| | | rowKey: 'id', |
| | | tabs: true, |
| | | menu: false, |
| | | highlightCurrentRow: true, |
| | | column: [ |
| | | { |
| | | label: '屿§è±æåç§°', |
| | | prop: 'id', |
| | | align: 'center' |
| | | }, { |
| | | label: '屿§ä¸æåç§°', |
| | | prop: 'name', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "屿§ç±»å", |
| | | prop: "attrDataType", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "é»è®¤å¼", |
| | | prop: "defaultValue", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "说æ", |
| | | prop: "description", |
| | | align: 'center' |
| | | } |
| | | ] |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | console.log('123'); |
| | | }, |
| | | methods: { |
| | | closeSubmitDialog(){ |
| | | this.showSubmitDialog = false; |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
| | |
| | | index: true, |
| | | rowKey: 'id', |
| | | tabs: true, |
| | | highlightCurrentRow:true, |
| | | column: [ |
| | | { |
| | | label: '屿§ç¼å·', |
| | |
| | | this.loading = false; |
| | | this.data = res.data.data.records |
| | | this.itemData = this.data[0]; |
| | | this.$nextTick(() => { |
| | | this.$refs.crud.setCurrentRow(this.data[0]); |
| | | }) |
| | | }) |
| | | }, |
| | | rowClick(row) { |
| | |
| | | <skip>true</skip> |
| | | </configuration> |
| | | </plugin> |
| | | <!--springbootæå
æä»¶ä¼å»æ¾æ¯ä¸ªæ¨¡åä¸é¢çå¯å¨ç±»ï¼å 为å½åæä¸éè¦å¯å¨ç±»çéæ±ï¼æä»¥æ³¨éæï¼ä½¿ç¨mvnçæå
æä»¶--> |
| | | <!--<plugin> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-maven-plugin</artifactId> |
| | | </plugin>--> |
| | | </plugin> |
| | | <plugin> |
| | | <artifactId>maven-compiler-plugin</artifactId> |
| | | <version>${maven.plugin.version}</version> |
| | |
| | | * nacos dev å°å |
| | | */ |
| | | //String NACOS_DEV_ADDR = "dev.vci-tech.com:38848"; |
| | | String NACOS_DEV_ADDR = "192.168.93.185:38848"; |
| | | String NACOS_DEV_ADDR = "192.168.93.186:38848"; |
| | | |
| | | /** |
| | | * nacos prod å°å |
| | |
| | | |
| | | |
| | | import com.vci.ubcs.code.vo.pagemodel.BaseModelVO; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * å类使ç¨çæµç¨æ¨¡æ¿æ°æ®ä¼ è¾å¯¹è±¡ |
| | |
| | | * @author weidy |
| | | * @date 2022-01-24 |
| | | */ |
| | | @Data |
| | | public class CodeClassifyProcessTempDTO extends BaseModelVO { |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | private String codeclassifyoid; |
| | | private String codeClassifyOid; |
| | | |
| | | /** |
| | | * 主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | private String codeclassifyoidName; |
| | | private String codeClassifyoidName; |
| | | |
| | | /** |
| | | * æå±æ¨¡æ¿ |
| | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | private String codeprocessuse; |
| | | private String codeProcessUse; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ç¨éæ¾ç¤ºææ¬ |
| | | */ |
| | | private String codeprocessuseText; |
| | | private String codeProcessUseText; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ççæ¬ |
| | |
| | | */ |
| | | private String codeTempAttrOidArrName; |
| | | |
| | | /** |
| | | * è·å 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | public String getCodeclassifyoid (){ |
| | | return codeclassifyoid; |
| | | } |
| | | |
| | | /** |
| | | * 设置 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | public void setCodeclassifyoid (String codeclassifyoid){ |
| | | this.codeclassifyoid = codeclassifyoid; |
| | | } |
| | | |
| | | /** |
| | | * è·å主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | public String getCodeclassifyoidName (){ |
| | | return codeclassifyoidName; |
| | | } |
| | | |
| | | /** |
| | | * 设置主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | public void setCodeclassifyoidName (String codeclassifyoidName){ |
| | | this.codeclassifyoidName = codeclassifyoidName; |
| | | } |
| | | /** |
| | | * è·å æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | public String getCodeprocessuse (){ |
| | | return codeprocessuse; |
| | | } |
| | | |
| | | /** |
| | | * 设置 æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | public void setCodeprocessuse (String codeprocessuse){ |
| | | this.codeprocessuse = codeprocessuse; |
| | | } |
| | | |
| | | public String getCodeprocessuseText() { |
| | | return codeprocessuseText; |
| | | } |
| | | |
| | | public void setCodeprocessuseText(String codeprocessuseText) { |
| | | this.codeprocessuseText = codeprocessuseText; |
| | | } |
| | | |
| | | public String getProcessVersion() { |
| | | return processVersion; |
| | | } |
| | | |
| | | public void setProcessVersion(String processVersion) { |
| | | this.processVersion = processVersion; |
| | | } |
| | | |
| | | public String getClassifyTemplateOid() { |
| | | return classifyTemplateOid; |
| | | } |
| | | |
| | | public void setClassifyTemplateOid(String classifyTemplateOid) { |
| | | this.classifyTemplateOid = classifyTemplateOid; |
| | | } |
| | | |
| | | public String getCodeTempAttrOidArr() { |
| | | return codeTempAttrOidArr; |
| | | } |
| | | |
| | | public void setCodeTempAttrOidArr(String codeTempAttrOidArr) { |
| | | this.codeTempAttrOidArr = codeTempAttrOidArr; |
| | | } |
| | | |
| | | public String getCodeTempAttrOidArrName() { |
| | | return codeTempAttrOidArrName; |
| | | } |
| | | |
| | | public void setCodeTempAttrOidArrName(String codeTempAttrOidArrName) { |
| | | this.codeTempAttrOidArrName = codeTempAttrOidArrName; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeClassifyProcessTempDTO{" + |
| | | "codeclassifyoid='" + codeclassifyoid + '\'' + |
| | | ", codeclassifyoidName='" + codeclassifyoidName + '\'' + |
| | | ", classifyTemplateOid='" + classifyTemplateOid + '\'' + |
| | | ", codeprocessuse='" + codeprocessuse + '\'' + |
| | | ", codeprocessuseText='" + codeprocessuseText + '\'' + |
| | | ", processVersion='" + processVersion + '\'' + |
| | | ", codeTempAttrOidArr='" + codeTempAttrOidArr + '\'' + |
| | | ", codeTempAttrOidArrName='" + codeTempAttrOidArrName + '\'' + |
| | | "} " + super.toString(); |
| | | } |
| | | } |
copy from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTemplatePhase.java
copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeWupinDTO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTemplatePhase.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.entity; |
| | | package com.vci.ubcs.code.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import lombok.Data; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ å®ä½ç±» |
| | | * ç¼ç ä¿¡æ¯ æ°æ®ä¼ è¾å¯¹è±¡å®ä½ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | * @since 2023-05-05 |
| | | */ |
| | | @Data |
| | | @TableName("PL_CODE_TEMPPHASE") |
| | | @ApiModel(value = "CodeTempphase对象", description = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodeTemplatePhase extends BaseModel { |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String codeClassifyTemplateOid; |
| | | public class CodeWupinDTO extends CodeWupinEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodePhaseAttr.java ÐÞ¸Ä |
| | |
| | | @TableName("PL_CODE_PHASEATTR") |
| | | @ApiModel(value = "CodePhaseattr对象", description = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodePhaseAttr extends BaseModel { |
| | | public class CodePhaseattrEntity extends BaseModel { |
| | | |
| | | |
| | | /** |
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTemplatePhase.java ÐÞ¸Ä |
| | |
| | | @TableName("PL_CODE_TEMPPHASE") |
| | | @ApiModel(value = "CodeTempphase对象", description = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodeTemplatePhase extends BaseModel { |
| | | public class CodeTempphaseEntity extends BaseModel { |
| | | /** |
| | | * |
| | | */ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import lombok.Data; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.util.Date; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springblade.core.tenant.mp.TenantEntity; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ å®ä½ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | @Data |
| | | @TableName("PL_CODE_WUPIN") |
| | | @ApiModel(value = "CodeWupin对象", description = "ç¼ç ä¿¡æ¯") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodeWupinEntity extends BaseModel { |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String checkinby; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private Date checkintime; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String checkoutby; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private Date checkouttime; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String codeclsfid; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String codeclsfpath; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String codetemplateoid; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String materialclassify; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String materialid; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String tuhao; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String pinpai; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String morengongys; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xieyijiage; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String hesuanpici; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String beizhushuoming; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private Short materialtype; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String materialname; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String ruanjianbanben; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String qitachicun; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String morencaigouy; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String yumaileixing; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String chuangjiangongsi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String caigouwl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String wuliaoxingzhi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xieyibianhao; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String caizhi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String chukufangshi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String shifoupihaoguanli; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String kucunwl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xinghaoguige; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String duiwaiguige; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String zhibaoqi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String caigoutiqianqi; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String hesuanfenlei; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xiaoshouwl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String changjiaxinghao; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String zuixiaoqiding; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jiliangdw; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String zhiliangbz; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String firstfl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String secondfl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String thrifl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String oldcode; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String baozhuangguige; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String passing; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xbj; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xbxkxs; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xfjjstj; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xgzccdgcd; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xxndj; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xzjmc; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String zjxh; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String clph; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String bmcl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String cpxs; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xbzjbmc; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String xwlwwmc; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jjzyq; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jsbmc; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jsbxh; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jsccj; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jssxt; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jszgl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jzl; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jzrxx; |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String jzxzb; |
| | | |
| | | @ApiModelProperty(value = "") |
| | | @TableField(exist = false) |
| | | private String codeSecLengthField; |
| | | |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.vo; |
| | | |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import org.springblade.core.tool.node.INode; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodePhaseattrVO extends CodePhaseAttr { |
| | | public class CodePhaseattrVO extends CodePhaseattrEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
copy from Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTemplatePhase.java
copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeWupinVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTemplatePhase.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.entity; |
| | | package com.vci.ubcs.code.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import org.springblade.core.tool.node.INode; |
| | | import lombok.Data; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ å®ä½ç±» |
| | | * ç¼ç ä¿¡æ¯ è§å¾å®ä½ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | * @since 2023-05-05 |
| | | */ |
| | | @Data |
| | | @TableName("PL_CODE_TEMPPHASE") |
| | | @ApiModel(value = "CodeTempphase对象", description = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class CodeTemplatePhase extends BaseModel { |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "") |
| | | private String codeClassifyTemplateOid; |
| | | public class CodeWupinVO extends CodeWupinEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
| | |
| | | // |
| | | package com.vci.ubcs.code.vo.pagemodel; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.springframework.data.annotation.Transient; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | |
| | | private String versionValue; |
| | | private String lcStatus; |
| | | private String lcStatusText; |
| | | @JsonFormat( |
| | | pattern = "yyyy-MM-dd HH:mm:ss.SSS" |
| | | ) |
| | | private Date ts; |
| | | private String owner; |
| | | // private String checkInBy; |
| | |
| | | |
| | | import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; |
| | | import com.vci.ubcs.code.vo.pagemodel.BaseModelVO; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å类使ç¨çæµç¨æ¨¡æ¿æ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @author weidy |
| | | * @date 2022-01-24 |
| | | * @author ludc |
| | | * @date 2023-05-6 |
| | | */ |
| | | public class CodeClassifyProcessTempVO extends CodeClassifyProcessTemp { |
| | | @Data |
| | | public class CodeClassifyProcessTempVO extends BaseModelVO { |
| | | |
| | | /** |
| | | * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ |
| | |
| | | /** |
| | | * 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | private String codeclassifyoid; |
| | | private String codeClassifyOid; |
| | | |
| | | /** |
| | | * 主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | private String codeclassifyoidName; |
| | | private String codeClassifyoidName; |
| | | |
| | | /** |
| | | * æå±æ¨¡æ¿ |
| | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | private String codeprocessuse; |
| | | private String codeProcessUse; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ç¨éåç§° |
| | | */ |
| | | private String codeprocessuseText; |
| | | private String codeProcessUseText; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ççæ¬ |
| | |
| | | */ |
| | | private List<CodeClassifyTemplateAttrVO> attrList; |
| | | |
| | | /** |
| | | * è·å 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | public String getCodeclassifyoid (){ |
| | | return codeclassifyoid; |
| | | } |
| | | |
| | | /** |
| | | * 设置 主é¢åºåç±»ä¸»é® |
| | | */ |
| | | public void setCodeclassifyoid (String codeclassifyoid){ |
| | | this.codeclassifyoid = codeclassifyoid; |
| | | } |
| | | /** |
| | | * è·å主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | public String getCodeclassifyoidName (){ |
| | | return codeclassifyoidName; |
| | | } |
| | | |
| | | /** |
| | | * 设置主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ |
| | | */ |
| | | public void setCodeclassifyoidName (String codeclassifyoidName){ |
| | | this.codeclassifyoidName = codeclassifyoidName; |
| | | } |
| | | /** |
| | | * è·å æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | public String getCodeprocessuse (){ |
| | | return codeprocessuse; |
| | | } |
| | | |
| | | /** |
| | | * 设置 æµç¨æ¨¡æ¿ç¨é |
| | | */ |
| | | public void setCodeprocessuse (String codeprocessuse){ |
| | | this.codeprocessuse = codeprocessuse; |
| | | } |
| | | |
| | | public String getCodeprocessuseText() { |
| | | return codeprocessuseText; |
| | | } |
| | | |
| | | public void setCodeprocessuseText(String codeprocessuseText) { |
| | | this.codeprocessuseText = codeprocessuseText; |
| | | } |
| | | |
| | | public String getClassifyTemplateOid() { |
| | | return classifyTemplateOid; |
| | | } |
| | | |
| | | public void setClassifyTemplateOid(String classifyTemplateOid) { |
| | | this.classifyTemplateOid = classifyTemplateOid; |
| | | } |
| | | |
| | | public String getProcessVersion() { |
| | | return processVersion; |
| | | } |
| | | |
| | | public void setProcessVersion(String processVersion) { |
| | | this.processVersion = processVersion; |
| | | } |
| | | |
| | | public List<CodeClassifyTemplateAttrVO> getAttrList() { |
| | | return attrList; |
| | | } |
| | | |
| | | public void setAttrList(List<CodeClassifyTemplateAttrVO> attrList) { |
| | | this.attrList = attrList; |
| | | } |
| | | |
| | | public String getCodeTempAttrOidArr() { |
| | | return codeTempAttrOidArr; |
| | | } |
| | | |
| | | public void setCodeTempAttrOidArr(String codeTempAttrOidArr) { |
| | | this.codeTempAttrOidArr = codeTempAttrOidArr; |
| | | } |
| | | |
| | | public String getCodeTempAttrOidArrName() { |
| | | return codeTempAttrOidArrName; |
| | | } |
| | | |
| | | public void setCodeTempAttrOidArrName(String codeTempAttrOidArrName) { |
| | | this.codeTempAttrOidArrName = codeTempAttrOidArrName; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "CodeClassifyProcessTempVO{" + |
| | | "codeclassifyoid='" + codeclassifyoid + '\'' + |
| | | ", codeclassifyoidName='" + codeclassifyoidName + '\'' + |
| | | ", classifyTemplateOid='" + classifyTemplateOid + '\'' + |
| | | ", codeprocessuse='" + codeprocessuse + '\'' + |
| | | ", codeprocessuseText='" + codeprocessuseText + '\'' + |
| | | ", processVersion='" + processVersion + '\'' + |
| | | ", codeTempAttrOidArr='" + codeTempAttrOidArr + '\'' + |
| | | ", codeTempAttrOidArrName='" + codeTempAttrOidArrName + '\'' + |
| | | ", attrList=" + attrList + |
| | | '}' + super.toString(); |
| | | } |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeTemplatePhaseVO.java ÐÞ¸Ä |
| | |
| | | package com.vci.ubcs.code.vo.pagemodel; |
| | | |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.vo.pagemodel.BaseModelVO; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | |
| | | /** |
| | | * 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡ |
| | |
| | | * @author weidy |
| | | * @date 2022-01-24 |
| | | */ |
| | | public class CodeTemplatePhaseVO extends CodeTemplatePhase { |
| | | public class CodeTemplatePhaseEntityVO extends CodeTempphaseEntity { |
| | | |
| | | /** |
| | | * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ |
| | |
| | | }; |
| | | BASE_MODEL_COMPATIBILITY_MAP = new HashMap() { |
| | | { |
| | | this.put("lastr", "islastr"); |
| | | this.put("firstr", "isfirstr"); |
| | | this.put("lastv", "islastv"); |
| | | this.put("firstv", "isfirstv"); |
| | | this.put("lastr", "lastr"); |
| | | this.put("firstr", "firstr"); |
| | | this.put("lastv", "lastv"); |
| | | this.put("firstv", "firstv"); |
| | | } |
| | | }; |
| | | LIFECYCLE_MANAGE_FIELD_MAP = new HashMap() { |
| | |
| | | */ |
| | | @ApiModelProperty("åç
§ç主é®") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private Long referToId; |
| | | private String referToId; |
| | | |
| | | /** |
| | | * åç
§å¯¹è±¡çåç§° |
| | |
| | | /** |
| | | * ä¸å¡ç±»ååç§° |
| | | */ |
| | | private String btmname; |
| | | private String btmName; |
| | | |
| | | /** |
| | | * æ¥æè
|
| | |
| | | * @date 2019/10/11 3:21 PM |
| | | */ |
| | | @Data |
| | | @TableName("pl_omd_btm_type_attr") |
| | | @TableName("pl_omd_btm_type_attribute") |
| | | @ApiModel(value = "ä¸å¡ç±»åå
å«ç屿§", description = "ä¸å¡ç±»åå
å«ç屿§") |
| | | public class BtmTypeAttribute implements java.io.Serializable{ |
| | | |
| | |
| | | /** |
| | | * ä¸å¡ç±»ååç§° |
| | | */ |
| | | private String btmname; |
| | | private String btmName; |
| | | |
| | | /** |
| | | * æ¥æè
|
| | |
| | | * å建æ¶é´ |
| | | */ |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * æ¶é´æ³ |
| | | */ |
| | | private Date ts; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.omd.vo; |
| | | |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Description: ä¸å¡ç±»åæ çæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @author LiHang |
| | | * @date 2023/5/5 |
| | | */ |
| | | @Data |
| | | public class BtmTypeTreeVO implements Serializable{ |
| | | /** |
| | | * åºåå |
| | | */ |
| | | private static final long serialVersionUID = -1243940048761060562L; |
| | | |
| | | private String name; |
| | | |
| | | private String oid; |
| | | |
| | | private List<BtmTypeTreeVO> childList; |
| | | } |
| | |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | * @date 2019/10/11 5:24 PM |
| | | */ |
| | | @Data |
| | | public class BtmTypeVO implements java.io.Serializable{ |
| | | public class BtmTypeVO implements Serializable { |
| | | |
| | | /** |
| | | * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ |
| | |
| | | /** |
| | | * ä¸å¡ç±»ååç§° |
| | | */ |
| | | private String btmname; |
| | | private String btmName; |
| | | |
| | | /** |
| | | * æ¥æè
|
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springblade.core.mp.base.BaseEntity; |
| | | import org.springblade.core.mp.import com.vci.ubcs.starter.revision.model.TreeQueryObject;.BaseEntity; |
| | | |
| | | /** |
| | | * å®ä½ç±» |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.starter.annotation; |
| | | |
| | | |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | |
| | | @Target({ElementType.TYPE, ElementType.METHOD}) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface VciBusinessLog { |
| | | String modelName() default ""; |
| | | |
| | | String operateName() default ""; |
| | | |
| | | VciLogType logType() default VciBusinessLog.VciLogType.Operate; |
| | | |
| | | String description() default ""; |
| | | |
| | | boolean notStore() default false; |
| | | |
| | | public static enum VciLogType { |
| | | Login, |
| | | Operate, |
| | | Audit; |
| | | |
| | | private VciLogType() { |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.data.annotation.Transient; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | |
| | | public class BaseModel implements Serializable { |
| | | @JsonSerialize( |
| | | using = ToStringSerializer.class |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.starter.util; |
| | | |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ°å¢æ¶é»è®¤å¼å±æ§èµå¼ |
| | | * |
| | | * @author ludc |
| | | * @date 2023/5/6 |
| | | */ |
| | | public class DefaultAttrAssimtUtil { |
| | | |
| | | /** |
| | | * æ°å¢æ¶å¡«å
é»è®¤å¼ |
| | | * @param object ç»§æ¿äºBaseModelçå®ä½å¯¹è±¡ |
| | | * @param <T> è¿åå¼çç±»å |
| | | * @param btmName ä¸å¡ç±»å |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | public static <T extends BaseModel> T addDefaultAttrAssimt(T object,String btmName) throws VciBaseException { |
| | | BaseModel baseModel = object; |
| | | try { |
| | | baseModel.setOid(VciBaseUtil.getPk()); |
| | | baseModel.setCreateTime(new Date()); |
| | | baseModel.setNameOid(VciBaseUtil.getPk()); |
| | | baseModel.setLastModifyTime(new Date()); |
| | | baseModel.setTs(new Date()); |
| | | //ç¨æ·id |
| | | String userId = AuthUtil.getUserId().toString(); |
| | | baseModel.setBtmname(btmName); |
| | | baseModel.setCreator(userId); |
| | | baseModel.setFirstR("1"); |
| | | baseModel.setFirstV("1"); |
| | | baseModel.setLastR("1"); |
| | | baseModel.setLastV("1"); |
| | | baseModel.setRevisionSeq(1); |
| | | baseModel.setOwner("1"); |
| | | baseModel.setVersionSeq(1); |
| | | baseModel.setVersionRule("0"); |
| | | baseModel.setVersionValue("1"); |
| | | baseModel.setNameOid(VciBaseUtil.getPk()); |
| | | baseModel.setLastModifier(userId); |
| | | }catch (VciBaseException e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return (T)baseModel; |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ¶å¡«å
é»è®¤å¼ |
| | | * @param object ç»§æ¿äºBaseModelçå®ä½å¯¹è±¡ |
| | | * @param <T> è¿åå¼çç±»å |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException { |
| | | BaseModel baseModel = object; |
| | | try { |
| | | baseModel.setLastModifyTime(new Date()); |
| | | baseModel.setTs(new Date()); |
| | | //ç¨æ·id |
| | | String userId = AuthUtil.getUserId().toString(); |
| | | baseModel.setLastModifier(userId); |
| | | }catch (VciBaseException e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return (T)baseModel; |
| | | } |
| | | |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtils.java ÐÞ¸Ä |
| | |
| | | package com.vci.ubcs.starter.util; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.core.toolkit.support.SFunction; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import org.springframework.util.ObjectUtils; |
| | |
| | | * @author ludc |
| | | * @date 2023/5/5 |
| | | */ |
| | | public class MybatisParameterUtils { |
| | | public class MybatisParameterUtil { |
| | | |
| | | public static <T, F> LambdaQueryWrapper<T> cutInParameter(LambdaQueryWrapper<T> wrapper, SFunction<T, ?> column, List<F> coll) throws VciBaseException { |
| | | List<List<F>> newList = splitList(coll, 900); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.starter.web.constant; |
| | | |
| | | |
| | | public class RegExpConstant { |
| | | public static final String INCLUDE_CHINESE = "[Î-ï¿¥]"; |
| | | public static final String NUMBER = "^[0-9]*$"; |
| | | public static final String INT = "/^-?[1-9]+[0-9]*$/"; |
| | | public static final String LONG = "/^-?[1-9]+[0-9]*$/"; |
| | | public static final String DOUBLE = "[0-9]*(\\.[0-9]*|[eE][+-][0-9]*)$"; |
| | | public static final String LETTER = "^[A-Za-z]+$"; |
| | | public static final String LETTER_AND_NUMBER = "^[A-Za-z0-9]+$"; |
| | | public static final String UP_LETTER = "^[A-Z]+$"; |
| | | public static final String LOW_LETTER = "^[a-z]+$"; |
| | | public static final String SPECIAL_CHARACTER = "^[` ~!@#$%^&*()_\\-+=<>?:\"{}|,.\\/;'\\[\\]·~ï¼@#ï¿¥%â¦â¦&*ï¼ï¼ââ\\-+={}|ããï¼ï¼ââãããï¼ââï¼ãã]+$"; |
| | | public static final String HAS_LETTER = ".*[a-z][A-Z]{1,}.*"; |
| | | public static final String HAS_UP_LETTER = ".*[A-Z]{1,}.*"; |
| | | public static final String HAS_LOW_LETTER = ".*[a-z]{1,}.*"; |
| | | public static final String HAS_NUMBER = ".*[0-9]{1,}.*"; |
| | | public static final String HAS_SPECIAL_CHARACTER = ".*[` ~!@#$%^&*()_\\-+=<>?:\"{}|,.\\/;'\\[\\]·~ï¼@#ï¿¥%â¦â¦&*ï¼ï¼ââ\\-+={}|ããï¼ï¼ââãããï¼ââï¼ãã]{1,}.*"; |
| | | |
| | | public RegExpConstant() { |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.ubcs.starter.web.toolmodel.DateConverter; |
| | | import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; |
| | |
| | | } |
| | | } |
| | | |
| | | public static Integer getCurrentUserSecret() { |
| | | SessionInfo currentUserSession = getCurrentUserSessionInfoNotException(); |
| | | return currentUserSession != null ? getInt(currentUserSession.getUserSecret()) : UserSecretEnum.NONE.getValue(); |
| | | } |
| | | |
| | | public static float getFloat(String s) { |
| | | float f = 0.0F; |
| | | if (s == null) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.starter.web.util; |
| | | |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public class VciQueryWrapperForDO { |
| | | |
| | | public static boolean USER_TABLE_COMPATIBILITY = false; |
| | | public static String DATABASE_PLATFORM; |
| | | public static Map<String, String> USER_TABLE_COMPATIBILITY_BTM_MAP; |
| | | public static Map<String, String> USER_TABLE_COMPATIBILITY_FIELD_MAP; |
| | | public static final String USER_TABLE_COMPATIBILITY_FIELD_SEP = "${vcicomplibitysep}"; |
| | | private Map<String, String> conditionMap; |
| | | private Map<String, String> customerSqlMap; |
| | | private String oidFieldName; |
| | | private static final String SPACE = " "; |
| | | public static final String QUERY_FIELD_SECRET = "${vciQuerySecret}"; |
| | | public static final Boolean DEFAULT_QUERY_SECRET; |
| | | public static final Boolean DEFAULT_QUERY_DATARIGHT; |
| | | public static final String QUERY_FIELD_DATARIGHT = "${vciQueryDataRight}"; |
| | | // private VciQueryWrapperOption queryWrapperOption; |
| | | private Class<?> doClass; |
| | | // private PageHelper pageHelper; |
| | | private Map<String, String> allFieldNameMap; |
| | | private List<String> xmlTypeFieldList; |
| | | private boolean distinct; |
| | | public static final Map<String, String> REVISION_MANAGE_FIELD_MAP; |
| | | public static final Map<String, String> BASIC_FIELD_MAP; |
| | | public static final Map<String, String> BASE_MODEL_COMPATIBILITY_MAP; |
| | | public static final String OID_FIELD = "oid"; |
| | | public static final String ID_FIELD = "id"; |
| | | public static final String LC_STATUS_FIELD = "lcstatus"; |
| | | public static final String LC_STATUS_FIELD_TEXT = "lcStatus_text"; |
| | | public static final Map<String, String> LIFECYCLE_MANAGE_FIELD_MAP; |
| | | public static final Map<String, String> SECRET_MANAGE_FIELD_MAP; |
| | | public static final Map<String, String> LINK_TYPE_FIELD_MAP; |
| | | private Map<String, VciFieldTypeEnum> allFieldTypeMap; |
| | | // private List<VciReferFieldInfo> referFieldInfoList; |
| | | private Map<String, String> useReferMap; |
| | | private Map<String, String> enumFieldMap; |
| | | private String linkTableSql; |
| | | private String selectFieldSql; |
| | | private String selectPrefixForPage; |
| | | private String whereSql; |
| | | private String orderSql; |
| | | private String whereSubfixForPage; |
| | | private Map<String, String> valuesMap; |
| | | private String tableNick; |
| | | private Map<String, String> extendFieldMap; |
| | | private static final String DATETIME_FORMAT = "yyyy-mm-dd hh24:mi:ss"; |
| | | private static final String DATE_FORMAT = "yyyy-mm-dd"; |
| | | |
| | | |
| | | static { |
| | | // DATABASE_PLATFORM = DataBaseEnum.ORACLE.getValue(); |
| | | USER_TABLE_COMPATIBILITY_BTM_MAP = new HashMap(); |
| | | USER_TABLE_COMPATIBILITY_FIELD_MAP = new HashMap(); |
| | | DEFAULT_QUERY_SECRET = true; |
| | | DEFAULT_QUERY_DATARIGHT = false; |
| | | REVISION_MANAGE_FIELD_MAP = new HashMap() { |
| | | { |
| | | this.put("nameoid", "对象主é®"); |
| | | this.put("revisionoid", "çæ¬ä¸»é®"); |
| | | this.put("lastr", "æ¯å¦ææ°çæ¬"); |
| | | this.put("firstr", "æ¯å¦æèçæ¬"); |
| | | this.put("lastv", "æ¯å¦ææ°ç次"); |
| | | this.put("firstv", "æ¯å¦æèçæ¬¡"); |
| | | this.put("revisionrule", "çæ¬è§å"); |
| | | this.put("revisionseq", "çæ¬æåºå·"); |
| | | this.put("revisionvalue", "çæ¬å¼"); |
| | | this.put("versionrule", "çæ¬¡è§å"); |
| | | this.put("versionseq", "çæ¬¡æåºå·"); |
| | | this.put("versionvalue", "çæ¬¡å¼"); |
| | | this.put("checkinby", "ç¾å
¥äºº"); |
| | | this.put("checkintime", "ç¾å
¥æ¶é´"); |
| | | this.put("checkoutby", "ç¾åºäºº"); |
| | | this.put("checkouttime", "ç¾åºæ¶é´"); |
| | | this.put("copyfromversion", "æ·è´çæ¬æ¥æº"); |
| | | } |
| | | }; |
| | | BASIC_FIELD_MAP = new HashMap() { |
| | | { |
| | | this.put("oid", "主é®"); |
| | | this.put("btmname", "ä¸å¡ç±»åçåç§°"); |
| | | this.put("id", "ç¼å·"); |
| | | this.put("name", "åç§°"); |
| | | this.put("description", "æè¿°"); |
| | | this.put("creator", "å建人"); |
| | | this.put("createtime", "å建æ¶é´"); |
| | | this.put("lastmodifier", "æåæ¶é´äºº"); |
| | | this.put("lastmodifytime", "æåä¿®æ¹æ¶é´"); |
| | | this.put("ts", "æ¶é´æ³"); |
| | | this.put("owner", "æ¥æè
"); |
| | | } |
| | | }; |
| | | BASE_MODEL_COMPATIBILITY_MAP = new HashMap() { |
| | | { |
| | | this.put("lastr", "islastr"); |
| | | this.put("firstr", "isfirstr"); |
| | | this.put("lastv", "islastv"); |
| | | this.put("firstv", "isfirstv"); |
| | | } |
| | | }; |
| | | LIFECYCLE_MANAGE_FIELD_MAP = new HashMap() { |
| | | { |
| | | this.put("lcstatus", "çå½å¨æå¼"); |
| | | } |
| | | }; |
| | | SECRET_MANAGE_FIELD_MAP = new HashMap() { |
| | | { |
| | | this.put("secretgrade", "å¯çº§å¼"); |
| | | } |
| | | }; |
| | | LINK_TYPE_FIELD_MAP = new HashMap() { |
| | | { |
| | | this.put("oid", "主é®"); |
| | | this.put("creator", "å建人"); |
| | | this.put("createtime", "å建æ¶é´"); |
| | | this.put("lastmodifier", "æåæ¶é´äºº"); |
| | | this.put("lastmodifytime", "æåä¿®æ¹æ¶é´"); |
| | | this.put("f_oid", "from端主é®"); |
| | | this.put("f_revisionoid", "fromç«¯çæ¬ä¸»é®"); |
| | | this.put("f_nameoid", "from端对象主é®"); |
| | | this.put("f_btmname", "from端ä¸å¡ç±»å"); |
| | | this.put("t_oid", "to端主é®"); |
| | | this.put("t_revisionoid", "toç«¯çæ¬ä¸»é®"); |
| | | this.put("t_nameoid", "to端对象主é®"); |
| | | this.put("t_btmname", "to端ä¸å¡ç±»å"); |
| | | this.put("ts", "æ¶é´æ³"); |
| | | } |
| | | }; |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * 主é¢åºå®ä¹è¡¨ æ°å¢ |
| | | * @param |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | |
| | | public DataGrid<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){ |
| | | return codeClassifyService.listClassifyLinkAttr(baseQueryObject); |
| | | } |
| | | /** |
| | | * 主é®è·å主é¢åºåç±» |
| | | * @param oid ä¸»é® |
| | | * @return 主é¢åºåç±»æ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | public R<CodeClassifyVO> getObjectByOid(String oid){ |
| | | CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByOid(oid); |
| | | return R.data(codeClassifyVO); |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨ç¼å·çè·¯å¾è·å对象 |
| | |
| | | return R.data(codeClassifyProcessTempVOS.get(0)); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import com.vci.ubcs.code.mapper.CodePhaseattrMapper; |
| | | import com.vci.ubcs.code.service.ICodePhaseattrService; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | | import com.vci.ubcs.code.wrapper.CodePhaseattrWrapper; |
| | |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("ubcs-code/CodePhaseattr") |
| | | @RequestMapping("/CodePhaseattr") |
| | | @Api(value = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§", tags = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§æ¥å£") |
| | | public class CodePhaseattrController extends BladeController { |
| | | |
| | | private final ICodePhaseattrService CodePhaseattrService; |
| | | |
| | | private CodePhaseAttrMapper codePhaseAttrMapper; |
| | | private CodePhaseattrMapper codePhaseAttrMapper; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§ 详æ
|
| | |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详æ
", notes = "ä¼ å
¥CodePhaseattr") |
| | | public R<CodePhaseattrVO> detail(CodePhaseAttr CodePhaseattr) { |
| | | CodePhaseAttr detail = CodePhaseattrService.getOne(Condition.getQueryWrapper(CodePhaseattr)); |
| | | public R<CodePhaseattrVO> detail(CodePhaseattrEntity codePhaseattr) { |
| | | CodePhaseattrEntity detail = CodePhaseattrService.getOne(Condition.getQueryWrapper(codePhaseattr)); |
| | | return R.data(CodePhaseattrWrapper.build().entityVO(detail)); |
| | | } |
| | | /** |
| | |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "å页", notes = "ä¼ å
¥CodePhaseattr") |
| | | public R<IPage<CodePhaseattrVO>> list(CodePhaseAttr CodePhaseattr, Query query) { |
| | | IPage<CodePhaseAttr> pages = CodePhaseattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodePhaseattr)); |
| | | public R<IPage<CodePhaseattrVO>> list(CodePhaseattrEntity codePhaseattr, Query query) { |
| | | IPage<CodePhaseattrEntity> pages = CodePhaseattrService.page(Condition.getPage(query), Condition.getQueryWrapper(codePhaseattr)); |
| | | return R.data(CodePhaseattrWrapper.build().pageVO(pages)); |
| | | } |
| | | |
| | |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "æ°å¢", notes = "ä¼ å
¥CodePhaseattr") |
| | | public R save(@Valid @RequestBody CodePhaseAttr CodePhaseattr) { |
| | | return R.status(CodePhaseattrService.save(CodePhaseattr)); |
| | | public R save(@Valid @RequestBody CodePhaseattrEntity codePhaseattr) { |
| | | return R.status(CodePhaseattrService.save(codePhaseattr)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "ä¿®æ¹", notes = "ä¼ å
¥CodePhaseattr") |
| | | public R update(@Valid @RequestBody CodePhaseAttr CodePhaseattr) { |
| | | return R.status(CodePhaseattrService.updateById(CodePhaseattr)); |
| | | public R update(@Valid @RequestBody CodePhaseattrEntity codePhaseattr) { |
| | | return R.status(CodePhaseattrService.updateById(codePhaseattr)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å
¥CodePhaseattr") |
| | | public R submit(@Valid @RequestBody CodePhaseAttr CodePhaseattr) { |
| | | return R.status(CodePhaseattrService.saveOrUpdate(CodePhaseattr)); |
| | | public R submit(@Valid @RequestBody CodePhaseattrEntity codePhaseattr) { |
| | | return R.status(CodePhaseattrService.saveOrUpdate(codePhaseattr)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.code.dto.CodeTemplatePhaseDTO; |
| | | import com.vci.ubcs.code.service.ICodeTempphaseService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; |
| | | import com.vci.ubcs.code.wrapper.CodeTempphaseWrapper; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.Collection; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ æ§å¶å¨ |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡å表 |
| | | */ |
| | | @GetMapping("/gridCodeTemplatePhase") |
| | | public DataGrid<CodeTemplatePhaseVO> gridCodeTemplatePhase(CodeTemplatePhaseVO codeTemplatePhaseVO,Query query){ |
| | | public DataGrid<CodeTemplatePhaseEntityVO> gridCodeTemplatePhase(CodeTemplatePhaseEntityVO codeTemplatePhaseVO, Query query){ |
| | | return codeTemplatePhaseService.gridCodeTemplatePhase(codeTemplatePhaseVO,query); |
| | | } |
| | | |
| | |
| | | * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @PostMapping( "/addSave") |
| | | public R<CodeTemplatePhaseVO> addSave(@RequestBody CodeTemplatePhaseDTO codeTemplatePhaseDTO){ |
| | | public R<CodeTemplatePhaseEntityVO> addSave(@RequestBody CodeTemplatePhaseDTO codeTemplatePhaseDTO){ |
| | | return R.data(codeTemplatePhaseService.addSave(codeTemplatePhaseDTO)); |
| | | } |
| | | |
| | |
| | | * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @PutMapping("/editSave") |
| | | public R<CodeTemplatePhaseVO> editSave(@RequestBody CodeTemplatePhaseDTO codeTemplatePhaseDTO){ |
| | | CodeTemplatePhaseVO codeTemplatePhaseVO = codeTemplatePhaseService.editSave(codeTemplatePhaseDTO); |
| | | public R<CodeTemplatePhaseEntityVO> editSave(@RequestBody CodeTemplatePhaseDTO codeTemplatePhaseDTO){ |
| | | CodeTemplatePhaseEntityVO codeTemplatePhaseVO = codeTemplatePhaseService.editSave(codeTemplatePhaseDTO); |
| | | return R.data(codeTemplatePhaseVO); |
| | | } |
| | | |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | public R<CodeTemplatePhaseVO> getObjectByOid(String oid){ |
| | | CodeTemplatePhaseVO codeTemplatePhaseVO = codeTemplatePhaseService.getObjectByOid(oid); |
| | | public R<CodeTemplatePhaseEntityVO> getObjectByOid(String oid){ |
| | | CodeTemplatePhaseEntityVO codeTemplatePhaseVO = codeTemplatePhaseService.getObjectByOid(oid); |
| | | return R.data(codeTemplatePhaseVO); |
| | | } |
| | | |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @GetMapping("/listDataByOids") |
| | | public R<Collection<CodeTemplatePhaseVO>> listCodeTemplatePhaseByOids(String oids){ |
| | | Collection<CodeTemplatePhaseVO> voCollection = codeTemplatePhaseService.listCodeTemplatePhaseByOids(VciBaseUtil.str2List(oids)); |
| | | public R<Collection<CodeTemplatePhaseEntityVO>> listCodeTemplatePhaseByOids(String oids){ |
| | | Collection<CodeTemplatePhaseEntityVO> voCollection = codeTemplatePhaseService.listCodeTemplatePhaseByOids(VciBaseUtil.str2List(oids)); |
| | | return R.data(voCollection); |
| | | } |
| | | |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡å表ï¼çæçå
容 |
| | | */ |
| | | @GetMapping("/refDataGrid") |
| | | public DataGrid<CodeTemplatePhaseVO> refDataGridCodeTemplatePhase(BaseQueryObject baseQueryObject){ |
| | | public DataGrid<CodeTemplatePhaseEntityVO> refDataGridCodeTemplatePhase(BaseQueryObject baseQueryObject){ |
| | | if(baseQueryObject == null){ |
| | | baseQueryObject = new BaseQueryObject(); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import lombok.AllArgsConstructor; |
| | | import javax.validation.Valid; |
| | | |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeWupinVO; |
| | | import com.vci.ubcs.code.wrapper.CodeWupinWrapper; |
| | | import com.vci.ubcs.code.service.ICodeWupinService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ æ§å¶å¨ |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("ubcs-code/codeWupin") |
| | | @Api(value = "ç¼ç ä¿¡æ¯", tags = "ç¼ç ä¿¡æ¯æ¥å£") |
| | | public class CodeWupinController extends BladeController { |
| | | |
| | | private final ICodeWupinService codeWupinService; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ è¯¦æ
|
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详æ
", notes = "ä¼ å
¥codeWupin") |
| | | public R<CodeWupinVO> detail(CodeWupinEntity codeWupin) { |
| | | CodeWupinEntity detail = codeWupinService.getOne(Condition.getQueryWrapper(codeWupin)); |
| | | return R.data(CodeWupinWrapper.build().entityVO(detail)); |
| | | } |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ å页 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "å页", notes = "ä¼ å
¥codeWupin") |
| | | public R<IPage<CodeWupinVO>> list(CodeWupinEntity codeWupin, Query query) { |
| | | IPage<CodeWupinEntity> pages = codeWupinService.page(Condition.getPage(query), Condition.getQueryWrapper(codeWupin)); |
| | | return R.data(CodeWupinWrapper.build().pageVO(pages)); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ èªå®ä¹å页 |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "å页", notes = "ä¼ å
¥codeWupin") |
| | | public R<IPage<CodeWupinVO>> page(CodeWupinVO codeWupin, Query query) { |
| | | IPage<CodeWupinVO> pages = codeWupinService.selectCodeWupinPage(Condition.getPage(query), codeWupin); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ æ°å¢ |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "æ°å¢", notes = "ä¼ å
¥codeWupin") |
| | | public R save(@Valid @RequestBody CodeWupinEntity codeWupin) { |
| | | return R.status(codeWupinService.save(codeWupin)); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ ä¿®æ¹ |
| | | */ |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "ä¿®æ¹", notes = "ä¼ å
¥codeWupin") |
| | | public R update(@Valid @RequestBody CodeWupinEntity codeWupin) { |
| | | return R.status(codeWupinService.updateById(codeWupin)); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ æ°å¢æä¿®æ¹ |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å
¥codeWupin") |
| | | public R submit(@Valid @RequestBody CodeWupinEntity codeWupin) { |
| | | return R.status(codeWupinService.saveOrUpdate(codeWupin)); |
| | | } |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ å é¤ |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "é»è¾å é¤", notes = "ä¼ å
¥ids") |
| | | public R remove(@ApiParam(value = "主é®éå", required = true) @RequestParam String ids) { |
| | | return R.status(codeWupinService.removeBatchByIds(Func.toLongList(ids))); |
| | | } |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.service.MdmEngineService; |
| | | import com.vci.ubcs.code.service.MdmIOService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; |
| | | import com.vci.ubcs.starter.annotation.VciBusinessLog; |
| | | import com.vci.ubcs.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.starter.web.util.ControllerUtil; |
| | | import com.vci.ubcs.starter.web.util.LangBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.AllArgsConstructor; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.List; |
| | | |
| | | @RestController |
| | | //@AllArgsConstructor |
| | | @RequestMapping("/mdmEngineController") |
| | | @Api(value = "ç¼ç æ°æ®ç®¡ç", tags = "ç¼ç æ°æ®ç®¡ç") |
| | | public class MdmEngineController { |
| | | |
| | | // /** |
| | | // * æ¥å¿ |
| | | // */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | /** |
| | | * ä¸»æ°æ®å¼ææå¡ |
| | | */ |
| | | @Autowired |
| | | private MdmEngineService engineService; |
| | | /** |
| | | * ä¸»æ°æ®å¯¼å
¥å¯¼åºæå¡ |
| | | */ |
| | | @Autowired |
| | | private MdmIOService mdmIOService; |
| | | |
| | | /** |
| | | * ä¸è½½æ¹éç³è¯·ç导å
¥æ¨¡æ¿ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @param response ååºå¯¹è±¡ |
| | | * @throws IOException æåºå¼å¸¸ |
| | | */ |
| | | @GetMapping("/downloadImportExcel") |
| | | @VciBusinessLog(operateName = "ä¸è½½æ¹éç³è¯·ç¼ç ç导å
¥æ¨¡æ¿") |
| | | public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ |
| | | String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); |
| | | try { |
| | | ControllerUtil.writeFileToResponse(response,excelName); |
| | | } catch (Throwable e) { |
| | | //妿åºé,æé误信æ¯åå°text |
| | | String msg = LangBaseUtil.getErrorMsg(e); |
| | | if(StringUtils.isBlank(msg)){ |
| | | msg = "æªç¥é误"; |
| | | } |
| | | ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¹éç³è¯·ç¼ç çä¿¡æ¯ |
| | | * @param secDTOList ç³è¯·ç¼ç çä¿¡æ¯ï¼å¿
é¡»å
å«ç 段åå类主é®çä¿¡æ¯ |
| | | * @param file æä»¶çå
容 |
| | | */ |
| | | @VciBusinessLog(operateName = "æ¹éç³è¯·ç¼ç çä¿¡æ¯") |
| | | @PostMapping("/batchImportCode") |
| | | public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable { |
| | | CodeOrderDTO orderDTO = new CodeOrderDTO(); |
| | | orderDTO.setCodeClassifyOid(codeClassifyOid); |
| | | if(StringUtils.isNotBlank(secDTOList)){ |
| | | List<CodeOrderSecDTO> secDTOS = JSONObject.parseArray(secDTOList, CodeOrderSecDTO.class); |
| | | orderDTO.setSecDTOList(secDTOS); |
| | | } |
| | | String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); |
| | | File file1 = new File(excelFileName); |
| | | try { |
| | | file.transferTo(new File(excelFileName)); |
| | | CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); |
| | | if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ |
| | | //æ¾å°mapé |
| | | R result = R.fail("导å
¥å¤±è´¥"); |
| | | if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { |
| | | String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); |
| | | codeImProtRusultVO.setFileOid(filedUUid); |
| | | } |
| | | result.setData(codeImProtRusultVO); |
| | | return result; |
| | | }else { |
| | | return R.success("æä½æåï¼"); |
| | | } |
| | | }catch (Throwable e) { |
| | | logger.error("导å
¥é误",e); |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "é误.txt"; |
| | | LocalFileUtil.writeContentToFile( LangBaseUtil.getErrorMsg(e),errorFile); |
| | | String uuid=ControllerUtil.putErrorFile(errorFile); |
| | | CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); |
| | | codeImProtRusultVO.setRedisUuid(""); |
| | | codeImProtRusultVO.setFileOid(uuid); |
| | | codeImProtRusultVO.setFilePath(errorFile); |
| | | R result = R.fail("导å
¥å¤±è´¥"); |
| | | result.setData(codeImProtRusultVO); |
| | | // result.setObj(codeImProtRusultVO); |
| | | return result; |
| | | }finally { |
| | | file1.delete(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ä¿®æ¹ç¶æ |
| | | * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @PostMapping("changeStatus") |
| | | public R changeStatus(BaseModelDTO baseModelDTO) { |
| | | engineService.changeStatus(baseModelDTO); |
| | | return R.success("æä½æåï¼"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ç³è¯·ç¼ç ä¿å |
| | | * @param orderDTO ç¼ç ç³è¯·ç¸å
³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å
³çä¿¡æ¯ |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @PostMapping("/addSaveCode") |
| | | @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") |
| | | public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ |
| | | return R.success(engineService.addSaveCode(orderDTO)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.enumpack; |
| | | import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; |
| | | import com.vci.ubcs.starter.web.enumpck.BaseEnum; |
| | | |
| | | /** |
| | | * 主é¢åºæ°æ®çé»è®¤çå½å¨æ |
| | | * @author weidy |
| | | * @date 2022-3-2 |
| | | */ |
| | | public enum CodeDefaultLC implements BaseEnum { |
| | | |
| | | /** |
| | | * ç¼è¾ä¸ |
| | | */ |
| | | EDITING(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING,"ç¼è¾ä¸"), |
| | | |
| | | /** |
| | | * 审æ¹ä¸ |
| | | */ |
| | | AUDITING(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_AUDITING,"审æ¹ä¸"), |
| | | |
| | | /** |
| | | * å·²åå¸ |
| | | */ |
| | | RELEASED(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED,"å·²åå¸"), |
| | | |
| | | /** |
| | | * ç å¼åæ¶ |
| | | */ |
| | | TASK_BACK(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_TAKEBACK,"ç å¼åæ¶"), |
| | | /** |
| | | * åç¨ |
| | | */ |
| | | DISABLE(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED,"åç¨"); |
| | | |
| | | |
| | | /** |
| | | * æä¸¾çå¼ |
| | | */ |
| | | private String value; |
| | | |
| | | /** |
| | | * æä¸¾æ¾ç¤ºææ¬ |
| | | */ |
| | | private String text; |
| | | |
| | | /** |
| | | * è·åæä¸¾å¼ |
| | | * |
| | | * @return æä¸¾å¼ |
| | | */ |
| | | @Override |
| | | public String getValue() { |
| | | return value; |
| | | } |
| | | |
| | | /** |
| | | * 设置æä¸¾å¼ |
| | | * |
| | | * @param value æä¸¾å¼ |
| | | */ |
| | | public void setValue(String value) { |
| | | this.value = value; |
| | | } |
| | | |
| | | /** |
| | | * è·åæä¸¾æ¾ç¤ºææ¬ |
| | | * |
| | | * @return æ¾ç¤ºææ¬ |
| | | */ |
| | | @Override |
| | | public String getText() { |
| | | return text; |
| | | } |
| | | |
| | | /** |
| | | * 设置æ¾ç¤ºææ¬ |
| | | * |
| | | * @param text æ¾ç¤ºææ¬ |
| | | */ |
| | | public void setText(String text) { |
| | | this.text = text; |
| | | } |
| | | |
| | | /** |
| | | * æé 彿° |
| | | * |
| | | * @param value å¼ |
| | | * @param text æ¾ç¤ºææ¬ |
| | | */ |
| | | private CodeDefaultLC(String value, String text) { |
| | | this.value = value; |
| | | this.text = text; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®åç§°è·å对åºçæä¸¾å¼ |
| | | * |
| | | * @param text åç§° |
| | | * @return æä¸¾å¼ |
| | | */ |
| | | public static String getValueByText(String text) { |
| | | for (CodeDefaultLC wenum : CodeDefaultLC.values()) { |
| | | if (wenum.getText().equalsIgnoreCase(text)) { |
| | | return wenum.getValue(); |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æä¸¾å¼è·ååç§° |
| | | * |
| | | * @param value æä¸¾å¼ |
| | | * @return åç§° |
| | | */ |
| | | public static String getTextByValue(String value) { |
| | | for (CodeDefaultLC wenum : CodeDefaultLC.values()) { |
| | | if (wenum.getValue().equalsIgnoreCase(value)) { |
| | | return wenum.getText(); |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æä¸¾å¼è·åæä¸¾å¯¹è±¡ |
| | | * |
| | | * @param value æä¸¾å¼ |
| | | * @return æä¸¾å¯¹è±¡ï¼ä¸å卿¶åè¿ånull |
| | | */ |
| | | public static CodeDefaultLC forValue(String value) { |
| | | for (CodeDefaultLC wenum : CodeDefaultLC.values()) { |
| | | if (wenum.getValue().equalsIgnoreCase(value)) { |
| | | return wenum; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import com.vci.ubcs.code.mapper.CodePhaseattrMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.support.BladePage; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import com.vci.ubcs.code.service.ICodePhaseattrService; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | |
| | | @AllArgsConstructor |
| | | public class CodePhaseattrClient implements ICodePhaseattrClient { |
| | | |
| | | private final CodePhaseAttrMapper codePhaseAttrMapper; |
| | | private final CodePhaseattrMapper codePhaseAttrMapper; |
| | | |
| | | @Override |
| | | @GetMapping(TOP) |
| | | public BladePage<CodePhaseAttr> top(Integer current, Integer size) { |
| | | public BladePage<CodePhaseattrEntity> top(Integer current, Integer size) { |
| | | Query query = new Query(); |
| | | query.setCurrent(current); |
| | | query.setSize(size); |
| | | IPage<CodePhaseAttr> page = codePhaseAttrMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); |
| | | IPage<CodePhaseattrEntity> page = codePhaseAttrMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); |
| | | return BladePage.of(page); |
| | | } |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | import com.vci.ubcs.code.mapper.CodeTemplatePhaseMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.support.BladePage; |
| | |
| | | |
| | | @Override |
| | | @GetMapping(TOP) |
| | | public BladePage<CodeTemplatePhase> top(Integer current, Integer size) { |
| | | public BladePage<CodeTempphaseEntity> top(Integer current, Integer size) { |
| | | Query query = new Query(); |
| | | query.setCurrent(current); |
| | | query.setSize(size); |
| | | IPage<CodeTemplatePhase> page = codeTempphaseMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); |
| | | IPage<CodeTempphaseEntity> page = codeTempphaseMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); |
| | | |
| | | return BladePage.of(page); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.feign; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.mapper.CodeWupinMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.support.BladePage; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.service.ICodeWupinService; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ Feignå®ç°ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | @ApiIgnore() |
| | | @RestController |
| | | @AllArgsConstructor |
| | | public class CodeWupinClient implements ICodeWupinClient { |
| | | |
| | | private final CodeWupinMapper codeWupinMapper; |
| | | |
| | | @Override |
| | | @GetMapping(TOP) |
| | | public BladePage<CodeWupinEntity> top(Integer current, Integer size) { |
| | | Query query = new Query(); |
| | | query.setCurrent(current); |
| | | query.setSize(size); |
| | | IPage<CodeWupinEntity> page = codeWupinMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());//service.page(Condition.getPage(query)); |
| | | return BladePage.of(page); |
| | | } |
| | | |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.feign; |
| | | |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import org.springblade.core.mp.support.BladePage; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | * @return BladePage |
| | | */ |
| | | @GetMapping(TOP) |
| | | BladePage<CodePhaseAttr> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); |
| | | BladePage<CodePhaseattrEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); |
| | | |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.feign; |
| | | |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | import org.springblade.core.mp.support.BladePage; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | * @return BladePage |
| | | */ |
| | | @GetMapping(TOP) |
| | | BladePage<CodeTemplatePhase> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); |
| | | BladePage<CodeTempphaseEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.feign; |
| | | |
| | | import org.springblade.core.mp.support.BladePage; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ Feignæ¥å£ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | @FeignClient( |
| | | value = "ubcs-code" |
| | | ) |
| | | public interface ICodeWupinClient { |
| | | |
| | | String API_PREFIX = "/wuPinClient"; |
| | | String TOP = API_PREFIX + "/top"; |
| | | |
| | | /** |
| | | * è·åç¼ç ä¿¡æ¯å表 |
| | | * |
| | | * @param current é¡µå· |
| | | * @param size é¡µæ° |
| | | * @return BladePage |
| | | */ |
| | | @GetMapping(TOP) |
| | | BladePage<CodeWupinEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); |
| | | |
| | | } |
| | |
| | | * @param oid |
| | | * @return |
| | | */ |
| | | @MapKey("oid") |
| | | @MapKey("OID") |
| | | Map<String,String> selectAllLevelChildOid(@Param("oid") String oid); |
| | | |
| | | /** |
| | |
| | | List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid); |
| | | |
| | | |
| | | @MapKey("oid") |
| | | @MapKey("OID") |
| | | List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid); |
| | | |
| | | @MapKey("oid") |
| | | @MapKey("OID") |
| | | List<Map<String,Object>> selectAllLevelParents(@Param("oid") String oid); |
| | | |
| | | |
| | | @MapKey("oid") |
| | | @MapKey("OID") |
| | | List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath); |
| | | |
| | | } |
| | |
| | | * @param nameoid |
| | | * @return |
| | | */ |
| | | @MapKey("REVISIONSEQ") |
| | | // @MapKey("REVISIONSEQ") |
| | | Map<String,Object> getNextRevision(@Param("nameoid") String nameoid); |
| | | |
| | | |
| | | |
| | | List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(@Param("codeclassifyoid") String codeclassifyoid, |
| | | @Param("lcstatus") String lcstatus); |
| | | List<Map<String,String>> selectChildHasReleaseTemplate(@Param("lcstatus") String lcstatus, |
| | | @Param("classifyoid") String classifyoid, |
| | | @Param("templatelcstatus") String templatelcstatus); |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.mapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public interface CodePhaseAttrMapper extends BaseMapper<CodePhaseAttr> { |
| | | public interface CodePhaseattrMapper extends BaseMapper<CodePhaseattrEntity> { |
| | | |
| | | /** |
| | | * èªå®ä¹å页 |
| | |
| | | */ |
| | | List<CodePhaseattrVO> selectCodePhaseattrPage(IPage page, CodePhaseattrVO CodePhaseattr); |
| | | |
| | | List<CodePhaseAttr> selectByPhasea(String oid); |
| | | List<CodePhaseattrEntity> selectByPhasea(String oid); |
| | | |
| | | List<CodePhaseAttr> selectByPhaseaIds(String oids); |
| | | List<CodePhaseattrEntity> selectByPhaseaIds(String oids); |
| | | |
| | | List<CodePhaseAttr> listLinkAttrDOByTemplateAttrDOS(String id,String codeClassifyTemplateOid); |
| | | List<CodePhaseattrEntity> listLinkAttrDOByTemplateAttrDOS(String id, String codeClassifyTemplateOid); |
| | | } |
| | |
| | | package com.vci.ubcs.code.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.code.entity.CodeSerialValue; |
| | | import com.vci.ubcs.code.entity.CodeSynonymEntity; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | * @author ludc |
| | | * @date 2022-03-01 |
| | | */ |
| | | public interface CodeSerialValueMapper { |
| | | public interface CodeSerialValueMapper extends BaseMapper<CodeSerialValue> { |
| | | |
| | | |
| | | List<CodeSerialValue> selectByCodeRoleId(@Param("codeRuleOid") String codeRuleOid); |
| | |
| | | */ |
| | | package com.vci.ubcs.code.mapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public interface CodeTemplatePhaseMapper extends BaseMapper<CodeTemplatePhase> { |
| | | public interface CodeTemplatePhaseMapper extends BaseMapper<CodeTempphaseEntity> { |
| | | |
| | | /** |
| | | * èªå®ä¹å页 |
| | |
| | | * @param CodeTempphase |
| | | * @return |
| | | */ |
| | | List<CodeTemplatePhaseVO> selectCodeTempphasePage(IPage page, CodeTemplatePhaseVO CodeTempphase); |
| | | List<CodeTemplatePhaseEntityVO> selectCodeTempphasePage(IPage page, CodeTemplatePhaseEntityVO CodeTempphase); |
| | | |
| | | |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseAttrMapper.java ÐÞ¸Ä |
| | |
| | | */ |
| | | package com.vci.ubcs.code.mapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeWupinVO; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§ Mapper æ¥å£ |
| | | * ç¼ç ä¿¡æ¯ Mapper æ¥å£ |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | * @since 2023-05-05 |
| | | */ |
| | | public interface CodePhaseAttrMapper extends BaseMapper<CodePhaseAttr> { |
| | | public interface CodeWupinMapper extends BaseMapper<CodeWupinEntity> { |
| | | |
| | | /** |
| | | * èªå®ä¹å页 |
| | | * |
| | | * @param page |
| | | * @param CodePhaseattr |
| | | * @param codeWupin |
| | | * @return |
| | | */ |
| | | List<CodePhaseattrVO> selectCodePhaseattrPage(IPage page, CodePhaseattrVO CodePhaseattr); |
| | | List<CodeWupinVO> selectCodeWupinPage(IPage page, CodeWupinVO codeWupin); |
| | | |
| | | List<CodePhaseAttr> selectByPhasea(String oid); |
| | | |
| | | List<CodePhaseAttr> selectByPhaseaIds(String oids); |
| | | |
| | | List<CodePhaseAttr> listLinkAttrDOByTemplateAttrDOS(String id,String codeClassifyTemplateOid); |
| | | } |
| | |
| | | */ |
| | | List<String> getOidByCodeclassifysecOid(String codeClassifySecOid); |
| | | |
| | | /** |
| | | * 使ç¨è§åç主é®è·å对åºçç æ®µå
容 |
| | | * @param oid è§åçå
容 |
| | | * @return ç æ®µçå
容 |
| | | */ |
| | | List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String oid); |
| | | |
| | | /** |
| | | * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @param codeBasicSecDOs æ°æ®å¯¹è±¡å表 |
| | | * @param hasFixedValue æ¯å¦æåºå®å¼ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec> codeBasicSecDOs, boolean hasFixedValue) throws VciBaseException; |
| | | |
| | | /** |
| | | * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * @param codeBasicSecDO æ°æ®å¯¹è±¡ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | CodeBasicSecVO codeBasicSecDO2VO(CodeBasicSec codeBasicSecDO) throws VciBaseException; |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.vo.CodeOsattributeVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.TreeQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | |
| | | * @return æ¥è¯¢ç»æ |
| | | */ |
| | | List<CodeClassify> selectAllLevelParents(String oid); |
| | | |
| | | /** |
| | | * 主é®è·å主é¢åºåç±» |
| | | * @param oid ä¸»é® |
| | | * @return 主é¢åºåç±»æ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeClassifyVO getObjectByOid(String oid) throws VciBaseException; |
| | | |
| | | /** |
| | | * 使ç¨å类主é®è·ååç±»ç¸å
³çææä¿¡æ¯ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @return åç±»ä¸çº§ï¼ä¸çº§çä¿¡æ¯ |
| | | */ |
| | | CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid); |
| | | } |
| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | |
| | | import java.sql.Wrapper; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | R<CodeClstemplateVO> editSave(CodeClstemplateDTO codeClassifyTemplateDTO); |
| | | |
| | | /** |
| | | * è·åææååç±»æ¨¡æ¿ |
| | | * @param codeClassifyOid ç¶åç±»çä¸»é® |
| | | * @return true表示ç¸å |
| | | */ |
| | | List<CodeClstemplateVO> childTemplates(String codeClassifyOid); |
| | | |
| | | /** |
| | | * 使ç¨ä¸»é¢åºçå类主é®ï¼è·åçæçæ¨¡æ¿ |
| | | * @param codeClassifyOid 主é¢åºåç±»ä¸»é® |
| | | * @param hasAttribute æ¯å¦å
å«å±æ§ |
| | | * @return 模æ¿çä¿¡æ¯ |
| | | */ |
| | | List<CodeClstemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid,boolean hasAttribute); |
| | | |
| | | /** |
| | | * ç¨æ¨¡æ¿ççæ¬æ¥æåº |
| | | * @param templateVOList 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | * @return æåºåçå表 |
| | | */ |
| | | List<CodeClstemplateVO> sortTemplateByRevision(List<CodeClstemplateVO> templateVOList); |
| | | |
| | | |
| | | /** |
| | | * 主é®è·åå类模æ¿å¯¹è±¡(å
å«å±æ§ï¼ |
| | | * @param templateOid ä¸»é® |
| | | * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeClstemplateVO getObjectHasAttrByOid(String templateOid); |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; |
| | | import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; |
| | |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyattrrepeatEntity codeKeyattrrepeatEntity); |
| | | |
| | | /** |
| | | * 使ç¨åç±»çå
¨é¨ä¿¡æ¯æ¥è·åå
³é®å±æ§å¤æè§åçå
容 |
| | | * @param classifyFullInfo 主é¢åºåç±»çå
¨é¨ä¿¡æ¯ |
| | | * @return è§åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeKeyattrrepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo); |
| | | |
| | | /** |
| | | * 主é®è·åå
³é®æ°æ®æ¥éè§å |
| | | * @param oid ä¸»é® |
| | | * @return å
³é®æ°æ®æ¥éè§åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeKeyAttrRepeatRuleVO getObjectByOid(String oid); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | | |
| | | /** |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public interface ICodePhaseattrService extends IService<CodePhaseAttr> { |
| | | public interface ICodePhaseattrService extends IService<CodePhaseattrEntity> { |
| | | |
| | | /** |
| | | * èªå®ä¹å页 |
| | |
| | | */ |
| | | R clearAllCode(String oid); |
| | | |
| | | |
| | | /** |
| | | * 使ç¨ä¸»é®è·åç¼ç è§åçå
容 |
| | | * @param codeRuleOid ä¸»é® |
| | | * @return è§åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeRuleVO getObjectHasSecByOid(String codeRuleOid); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.dto.CodeTemplatePhaseDTO; |
| | | import com.vci.ubcs.code.entity.CodeClstempattrEntity; |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public interface ICodeTempphaseService extends IService<CodeTemplatePhase> { |
| | | public interface ICodeTempphaseService extends IService<CodeTempphaseEntity> { |
| | | |
| | | /** |
| | | * æ¥è¯¢ææç模æ¿é¶æ®µ |
| | |
| | | * @return æ§è¡ç»æ |
| | | * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | DataGrid<CodeTemplatePhaseVO> gridCodeTemplatePhase(CodeTemplatePhaseVO codeTemplatePhaseVO, Query query) throws VciBaseException; |
| | | DataGrid<CodeTemplatePhaseEntityVO> gridCodeTemplatePhase(CodeTemplatePhaseEntityVO codeTemplatePhaseVO, Query query) throws VciBaseException; |
| | | |
| | | /** |
| | | * 模æ¿å é¤çæ¶å触å |
| | |
| | | |
| | | /** |
| | | * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * @param codeTemplatePhaseDOs æ°æ®å¯¹è±¡å表 |
| | | * @param codeTemplatePhaseEntityDOS æ°æ®å¯¹è±¡å表 |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | List<CodeTemplatePhaseVO> codeTemplatePhaseDO2VOs(Collection<CodeTemplatePhase> codeTemplatePhaseDOs) throws VciBaseException; |
| | | List<CodeTemplatePhaseEntityVO> codeTemplatePhaseDO2VOs(Collection<CodeTempphaseEntity> codeTemplatePhaseEntityDOS) throws VciBaseException; |
| | | |
| | | /** |
| | | * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * @param codeTemplatePhaseDO æ°æ®å¯¹è±¡ |
| | | * @param codeTemplatePhaseEntityDO æ°æ®å¯¹è±¡ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | CodeTemplatePhaseVO codeTemplatePhaseDO2VO(CodeTemplatePhase codeTemplatePhaseDO) throws VciBaseException; |
| | | CodeTemplatePhaseEntityVO codeTemplatePhaseDO2VO(CodeTempphaseEntity codeTemplatePhaseEntityDO) throws VciBaseException; |
| | | |
| | | /** |
| | | * å¢å 模æ¿é¶æ®µ |
| | |
| | | * @return æ§è¡ç»æ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿
è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | CodeTemplatePhaseVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException; |
| | | CodeTemplatePhaseEntityVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException; |
| | | |
| | | /** |
| | | * ä¿®æ¹æ¨¡æ¿é¶æ®µ |
| | |
| | | * @return æ§è¡ç»æ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿
è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | CodeTemplatePhaseVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException; |
| | | CodeTemplatePhaseEntityVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException; |
| | | |
| | | /** |
| | | * å 餿¨¡æ¿é¶æ®µ |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | CodeTemplatePhaseVO getObjectByOid(String oid) throws VciBaseException; |
| | | CodeTemplatePhaseEntityVO getObjectByOid(String oid) throws VciBaseException; |
| | | |
| | | /** |
| | | * 䏻鮿¹éè·å模æ¿é¶æ®µ |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ¥è¯¢åºç°å¼å¸¸æ¶ä¼æåº |
| | | */ |
| | | Collection<CodeTemplatePhaseVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException; |
| | | Collection<CodeTemplatePhaseEntityVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException; |
| | | |
| | | /** |
| | | * åç
§æ¨¡æ¿é¶æ®µå表 |
| | |
| | | * @return 模æ¿é¶æ®µæ¾ç¤ºå¯¹è±¡å表ï¼çæçå
容 |
| | | * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | DataGrid<CodeTemplatePhaseVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException; |
| | | DataGrid<CodeTemplatePhaseEntityVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException; |
| | | |
| | | /** |
| | | * é¶æ®µä¸å
å«ç屿§ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeWupinVO; |
| | | import org.springblade.core.mp.base.BaseService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ æå¡ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | public interface ICodeWupinService extends IService<CodeWupinEntity> { |
| | | |
| | | /** |
| | | * èªå®ä¹å页 |
| | | * |
| | | * @param page |
| | | * @param codeWupin |
| | | * @return |
| | | */ |
| | | IPage<CodeWupinVO> selectCodeWupinPage(IPage<CodeWupinVO> page, CodeWupinVO codeWupin); |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.entity.CodeAllCode; |
| | | import com.vci.ubcs.code.entity.CodeRule; |
| | | import com.vci.ubcs.code.vo.CodeClstempattrVO; |
| | | import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä¸»æ°æ®å¼ææå¡ |
| | | * @author weidy |
| | | * @date 2022-2-21 |
| | | */ |
| | | public interface MdmEngineService extends IService<CodeAllCode> { |
| | | /** |
| | | * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid); |
| | | |
| | | /** |
| | | * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @param hasAttr å
å«å±æ§ |
| | | * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr); |
| | | |
| | | /** |
| | | * è·åæä¸¾ç䏿é项 |
| | | * @param attrVO 模æ¿å±æ§ç对象 |
| | | * @return 䏿é项 |
| | | */ |
| | | List<KeyValue> listComboboxItems(CodeClstempattrVO attrVO); |
| | | |
| | | /** |
| | | * ä¿®æ¹ç¶æ |
| | | * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | */ |
| | | void changeStatus(BaseModelDTO baseModelDTO); |
| | | |
| | | /** |
| | | * ç³è¯·åä¸ç¼ç |
| | | * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å
å«å±æ§çå
容åç æ®µç¸å
³çå
容 |
| | | * @return è¿åç¼ç çå
容 |
| | | */ |
| | | String addSaveCode(CodeOrderDTO orderDTO); |
| | | |
| | | /** |
| | | * 夿ç¼ç çç æ®µæ¯å¦è¾å
¥æè
éæ©äºç å¼ |
| | | * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ |
| | | * @param orderDTO ç¼ç ç³è¯·çå
容 |
| | | */ |
| | | void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; |
| | | |
| | | import java.io.File; |
| | | |
| | | public interface MdmIOService { |
| | | |
| | | /** |
| | | * çæå¯¼å
¥çæä»¶ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @param isHistory æ¯å¦å岿°æ®å¯¼å
¥ |
| | | * @return excelçæä»¶å°å |
| | | */ |
| | | String createImportExcel(String codeClassifyOid,boolean isHistory); |
| | | |
| | | /** |
| | | * æ¹éç³è¯·ç¼ç æ°æ® |
| | | * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿
é¡»å
å«å类主é®åç æ®µçä¿¡æ¯ |
| | | * @param file excelæä»¶çä¿¡æ¯ |
| | | * @return æé误信æ¯çexcel |
| | | */ |
| | | CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface MdmProductCodeService { |
| | | /** |
| | | * çæç¼ç --å¹¶ä¸ä¿åæ°æ®-æ¹æ³å éï¼å æ¤ä¸è½è¿åbatchCBO |
| | | * @param classifyFullInfoBO åç±»çå
¨é¨ä¿¡æ¯ |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | * @param ruleVO ç¼ç è§åçæ¾ç¤ºå¯¹è±¡ |
| | | * @param secDTOList åä¸ªç æ®µçå¼ |
| | | * @param dataCBOList ä¸å¡æ°æ® |
| | | */ |
| | | List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClstemplateVO templateVO, |
| | | CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList); |
| | | |
| | | } |
| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import com.vci.ubcs.code.mapper.CodeFixedValueMapper; |
| | | import com.vci.ubcs.code.service.ICodeBasicSecService; |
| | | import com.vci.ubcs.code.service.ICodeClassifyValueService; |
| | | import com.vci.ubcs.code.service.ICodeFixedValueService; |
| | | import com.vci.ubcs.code.service.ICodeRuleService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.code.wrapper.CodeBasicSecWrapper; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | @Resource |
| | | private IDictBizClient iDictBizClient; |
| | | |
| | | /** |
| | | * åºå®ç 段çç å¼çæå¡ |
| | | */ |
| | | @Resource |
| | | private ICodeFixedValueService fixedValueService; |
| | | |
| | | /** |
| | | * ä¸å±åç±»ç æ®µç屿§åç§° |
| | |
| | | return codeBasicSecDO; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 使ç¨è§åç主é®è·å对åºçç æ®µå
容 |
| | | * |
| | | * @param ruleOid è§åçå
容 |
| | | * @return ç æ®µçå
容 |
| | | */ |
| | | @Override |
| | | public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String ruleOid) { |
| | | if(StringUtils.isBlank(ruleOid)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | Map<String,String> conditionMap = new HashMap<>(); |
| | | conditionMap.put("pkCodeRule",ruleOid); |
| | | // PageHelper pageHelper = new PageHelper(-1); |
| | | // pageHelper.addDefaultAsc("ordernum"); |
| | | QueryWrapper<CodeBasicSec> wrapper = new QueryWrapper<>(); |
| | | wrapper.orderByAsc("ordernum"); |
| | | List<CodeBasicSec> secDOList = codeBasicSecMapper.selectList(wrapper);//.selectByCondition(conditionMap, pageHelper); |
| | | return codeBasicSecDO2VOs(secDOList,true); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @param codeBasicSecDOs æ°æ®å¯¹è±¡å表 |
| | | * @param hasFixedValue æ¯å¦æåºå®å¼ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec> codeBasicSecDOs, boolean hasFixedValue) throws VciBaseException { |
| | | List<CodeBasicSecVO> voList = new ArrayList<CodeBasicSecVO>(); |
| | | if (!CollectionUtils.isEmpty(codeBasicSecDOs)) { |
| | | for (CodeBasicSec s : codeBasicSecDOs) { |
| | | CodeBasicSecVO vo = codeBasicSecDO2VO(s); |
| | | if (vo != null) { |
| | | voList.add(vo); |
| | | } |
| | | } |
| | | } |
| | | if(hasFixedValue && !CollectionUtils.isEmpty(voList)){ |
| | | List<CodeBasicSecVO> fixedSecVOList = voList.stream().filter(s -> CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equalsIgnoreCase(s.getSecType())).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(fixedSecVOList)){ |
| | | //æ¥è¯¢åºå®ç çç å¼ |
| | | Map<String, List<CodeFixedValueVO>> secValueMap = fixedValueService.listCodeFixedValueBySecOids(fixedSecVOList.stream().map(CodeBasicSecVO::getOid).collect(Collectors.toList())); |
| | | voList.stream().forEach(vo->{ |
| | | vo.setFixedValueVOList(secValueMap.getOrDefault(vo.getOid(),null)); |
| | | }); |
| | | } |
| | | } |
| | | return voList; |
| | | } |
| | | |
| | | /** |
| | | * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @param codeBasicSecDO æ°æ®å¯¹è±¡ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public CodeBasicSecVO codeBasicSecDO2VO(CodeBasicSec codeBasicSecDO) throws VciBaseException { |
| | | CodeBasicSecVO vo = new CodeBasicSecVO(); |
| | | if (codeBasicSecDO != null) { |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDO, vo); |
| | | //妿ælcstatusçç±»çè¯ |
| | | if (true) { |
| | | //vo.setLcStatusText({lcStatusFullClassName}.getTextByValue(vo.getLcStatus())); |
| | | } |
| | | } |
| | | return vo; |
| | | } |
| | | } |
| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | 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.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyMapper; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyProcessTempMapper; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyProcessTempService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; |
| | | import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper; |
| | | import com.vci.ubcs.common.utils.PageDO2PageVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.service.RevisionModelUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.util.BeanUtil; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | |
| | | IPage<CodeClassifyProcessTempVO> pageList = new Page<CodeClassifyProcessTempVO>(); |
| | | //DataGrid<CodeClassifyProcessTempVO> dataGrid=new DataGrid<>(); |
| | | if (!CollectionUtils.isEmpty(doList.getRecords())) { |
| | | pageList.setRecords(codeClassifyProcessTempDO2VOs(doList.getRecords())); |
| | | pageList.setRecords(CodeClassifyProcessTempWrapper.build().listVO(doList.getRecords())); |
| | | //åé¡µåæ°è½¬å°pageVO对象 |
| | | pageList = PageDO2PageVO.pageDO2PageVO(doList,pageList); |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public CodeClassifyProcessTempVO addSave(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡",codeClassifyProcessTempDTO.getProcessVersion(),"æµç¨æ¨¡æ¿ççæ¬å·",codeClassifyProcessTempDTO.getCodeprocessuse(),"æ¨¡æ¿æµç¨çç¨é"); |
| | | if (StringUtils.isBlank(codeClassifyProcessTempDTO.getCodeprocessuse())){ |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡",codeClassifyProcessTempDTO.getProcessVersion(),"æµç¨æ¨¡æ¿ççæ¬å·",codeClassifyProcessTempDTO.getCodeProcessUse(),"æ¨¡æ¿æµç¨çç¨é"); |
| | | if (StringUtils.isBlank(codeClassifyProcessTempDTO.getCodeProcessUse())){ |
| | | throw new VciBaseException("æ¨¡æ¿æµç¨ç¨éä¸è½ä¸ºç©º"); |
| | | } |
| | | Long count = countProcessTemplate(codeClassifyProcessTempDTO); |
| | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = new CodeClassifyProcessTemp(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempDO = DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyProcessTempDO,"codeclsflowtemp"); |
| | | codeClassifyProcessTempMapper.insert(codeClassifyProcessTempDO); |
| | | //å 为ä¸å¡ç±»åæ¬èº«æ²¡ææ§å¶çæ¬ï¼ææå¼ºå¶ç»çæ¬revisionValue设置å¼ï¼å¹³å°ä¹ä¼åæç©ºãããã |
| | | //çæ¬å·ä¸è½ä½¿ç¨é»è®¤ç屿§ |
| | | return codeClassifyProcessTempDO2VO(codeClassifyProcessTempDO); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO(codeClassifyProcessTempDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = selectByOid(codeClassifyProcessTempDTO.getOid()); |
| | | revisionModelUtil.copyFromDTOIgnore(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempDO = DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempMapper.updateById(codeClassifyProcessTempDO); |
| | | return codeClassifyProcessTempDO2VO(codeClassifyProcessTempDO); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO(codeClassifyProcessTempDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"å类使ç¨çæµç¨æ¨¡æ¿æ°æ®å¯¹è±¡",codeClassifyProcessTempDTO.getOid(),"å类使ç¨çæµç¨æ¨¡æ¿ç主é®"); |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = selectByOid(codeClassifyProcessTempDTO.getOid()); |
| | | R baseResult = checkIsCanDeleteForDO(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | if(!baseResult.isSuccess()) { |
| | | if(baseResult.isSuccess()) { |
| | | }else{ |
| | | return baseResult; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public CodeClassifyProcessTempVO getObjectByOid(String oid) throws VciBaseException{ |
| | | return codeClassifyProcessTempDO2VO(selectByOid(oid)); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO((selectByOid(oid))); |
| | | } |
| | | |
| | | /** |
| | |
| | | public Collection<CodeClassifyProcessTempVO> listCodeClassifyProcessTempByOids(Collection<String> oidCollections) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); |
| | | List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = listCodeClassifyProcessTempDOByOidCollections(oidCollections); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempDOList); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempDOList); |
| | | } |
| | | |
| | | /** |
| | |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getClassifyTemplateOid, codeTemplateOid) |
| | | .eq(CodeClassifyProcessTemp::getCodeProcessUse, processUse); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempMapper.selectList(wrapper)); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempMapper.selectList(wrapper)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public List<CodeClassifyProcessTempVO> selectByWrapper(LambdaQueryWrapper<CodeClassifyProcessTemp> queryWrapper) { |
| | | List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList= codeClassifyProcessTempMapper.selectList(queryWrapper); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempDOList); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempDOList); |
| | | } |
| | | |
| | | /** |
| | |
| | | private R checkIsCanDeleteForDO(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO, CodeClassifyProcessTemp codeClassifyProcessTempDO) { |
| | | CodeClassifyProcessTemp tempDO = new CodeClassifyProcessTemp(); |
| | | BeanUtil.convert(codeClassifyProcessTempDTO,tempDO); |
| | | if (!checkTs(tempDO)) { |
| | | if (!checkTs(tempDO,codeClassifyProcessTempDO)) { |
| | | return R.fail(TS_NOT_PROCESS); |
| | | } |
| | | if(!checkIsLinked(codeClassifyProcessTempDO.getOid())) { |
| | |
| | | * @param tempDO |
| | | * @return |
| | | */ |
| | | private boolean checkTs(CodeClassifyProcessTemp tempDO){ |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getOid,tempDO.getOid()).select(CodeClassifyProcessTemp::getTs); |
| | | long dbTs = codeClassifyProcessTempMapper.selectById(wrapper).getTs().getTime(); |
| | | long currentTs = tempDO.getTs().getTime(); |
| | | if(dbTs == currentTs){ |
| | | private boolean checkTs(CodeClassifyProcessTemp tempDO, CodeClassifyProcessTemp codeClassifyProcessTempDO){ |
| | | Date dbTs = codeClassifyProcessTempDO.getTs(); |
| | | Date currentTs = tempDO.getTs(); |
| | | int i = currentTs.compareTo(dbTs); |
| | | if(i==0){ |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | throw new VciBaseException("æ¨¡æ¿æµç¨åç§°ä¸è½ä¸ºç©º"); |
| | | } |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getCodeProcessUse, codeClassifyProcessTempDTO.getCodeprocessuse()) |
| | | .lambda().eq(CodeClassifyProcessTemp::getCodeProcessUse, codeClassifyProcessTempDTO.getCodeProcessUse()) |
| | | .eq(CodeClassifyProcessTemp::getClassifyTemplateOid, codeClassifyProcessTempDTO.getClassifyTemplateOid()) |
| | | .eq(CodeClassifyProcessTemp::getId, codeClassifyProcessTempDTO.getId()); |
| | | Long count = codeClassifyProcessTempMapper.selectCount(wrapper); |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.CodeClstemplateEntity; |
| | | import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; |
| | |
| | | private CodeOsbtmtypeMapper codeOsbtmtypeMapper; |
| | | @Resource |
| | | CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; |
| | | @Resource |
| | | ICodeRuleService ICodeRuleService; |
| | | |
| | | /** |
| | | * æ¥å¿ |
| | |
| | | if(StringUtils.isBlank(oid)){ |
| | | throw new ServiceException("oidä¸è½ä¸ºç©ºï¼"); |
| | | } |
| | | return codeClassifyMapper.checkHasChild(oid.trim()); |
| | | return !codeClassifyMapper.checkHasChild(oid.trim()); |
| | | } |
| | | |
| | | |
| | |
| | | //2ãæ¥è¯¢è¦å é¤çåç±»æ°æ® |
| | | List<CodeClassify> codeClassifyDOList = codeClassifyMapper.selectBatchIds(s); |
| | | deletes.addAll(codeClassifyDOList); |
| | | codeClassifyMapper.deleteBatchIds(s); |
| | | // codeClassifyMapper.deleteBatchIds(s); |
| | | baseMapper.deleteBatchIds(s); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 主é®è·å主é¢åºåç±» |
| | | * @param oid ä¸»é® |
| | | * @return 主é¢åºåç±»æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{ |
| | | return codeClassifyDO2VO(selectByOid(oid)); |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨ç¼å·çè·¯å¾è·å对象 |
| | | * |
| | | * @param idPath ç¼å·çè·¯å¾ï¼ä¸å®è¦ä»æé¡¶å±èç¹å¼å§ï¼æ ¼å¼ä¸ºxxx/yyy/zz è¿æ · |
| | |
| | | } |
| | | return oidList; |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨å类主é®è·ååç±»ç¸å
³çææä¿¡æ¯ |
| | | * |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @return åç±»ä¸çº§ï¼ä¸çº§çä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid) { |
| | | VciBaseUtil.alertNotNull(codeClassifyOid,"åç±»ç主é®"); |
| | | CodeClassifyFullInfoBO fullInfo = new CodeClassifyFullInfoBO(); |
| | | CodeClassify classifyDO = selectByOid(codeClassifyOid); |
| | | //æ¥è¯¢ä¸çº§ |
| | | fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO)); |
| | | List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); |
| | | List<CodeClassify> codeClassifyList = new ArrayList<>(); |
| | | for (Map<String, Object> map : maps) { |
| | | CodeClassify codeClassify = new CodeClassify(); |
| | | codeClassify.setOid(String.valueOf(map.get("OID"))); |
| | | codeClassify.setOid(String.valueOf(map.get("LEVEL"))); |
| | | codeClassifyList.add(codeClassify); |
| | | } |
| | | fullInfo.setParentClassifyVOs(codeClassifyDO2VOs(codeClassifyList)); |
| | | if(!CollectionUtils.isEmpty(fullInfo.getParentClassifyVOs())){ |
| | | fullInfo.setTopClassifyVO(fullInfo.getParentClassifyVOs().stream().filter(s->StringUtils.isBlank(s.getParentcodeclassifyoid())).findFirst().orElseGet(()->null)); |
| | | } |
| | | return fullInfo; |
| | | } |
| | | } |
| | |
| | | package com.vci.ubcs.code.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.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyTemplateButtonMapper; |
| | | import com.vci.ubcs.code.mapper.CodeTemplatePhaseMapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; |
| | | import com.vci.ubcs.code.service.ICodeTempphaseService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springframework.cglib.beans.BeanMap; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.sql.Wrapper; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.nacos.api.utils.StringUtils; |
| | | 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.code.constant.FrameWorkDefaultValueConstant; |
| | | import com.vci.ubcs.code.dto.CodeClstemplateDTO; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC; |
| | |
| | | @Autowired(required = false) |
| | | private CodeClassifyTemplateButtonMapper codeTempbuttonMapper; |
| | | @Autowired(required = false) |
| | | private CodePhaseAttrMapper codePhaseattrMapper; |
| | | private CodePhaseattrMapper codePhaseattrMapper; |
| | | @Autowired(required = false) |
| | | private CodeClassifyMapper codeClassifyMapper; |
| | | @Autowired(required = false) |
| | | private ICodeClassifyService codeClassifyService; |
| | | @Autowired(required = false) |
| | |
| | | //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ |
| | | Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); |
| | | |
| | | List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//模æ¿é¶æ®µ |
| | | List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ |
| | | List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//模æ¿é¶æ®µ |
| | | List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ |
| | | |
| | | //å¤å¶æ¨¡æ¿æé® |
| | | List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); |
| | | |
| | | //ä¸èµ·ä¿åæ°æ® |
| | | // WebUtil.setPersistence(false);//䏿§è¡ä¿å |
| | | //ä¿åæ¨¡æ¿ |
| | | //ä¿å模æ¿ââ |
| | | // BatchCBO batchCBOTemplate = new BatchCBO(); |
| | | //batchCBOä¿åçæ¶åæ²¡æè½å¤èªå¨updateæºæ°æ®çisLastR |
| | | //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); |
| | |
| | | //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ |
| | | Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); |
| | | |
| | | List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//模æ¿é¶æ®µ |
| | | List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ |
| | | List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//模æ¿é¶æ®µ |
| | | List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ |
| | | |
| | | //å¤å¶æ¨¡æ¿æé® |
| | | List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(oldOid,newOid); |
| | |
| | | // phaseWrapper.addQueryMap("codeClassifyTemplateOid",templateOldOid); |
| | | Map<String,Object> condition = new HashMap<>(1); |
| | | condition.put("codeclassifyTemplateOid",templateOldOid); |
| | | List<CodeTemplatePhase> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition); |
| | | List<CodeTempphaseEntity> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition); |
| | | // List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = codeTemplatePhaseDaoI.selectByWrapper(phaseWrapper);//è¦ä¿åçæ°çæ¨¡æ¿æµç¨ |
| | | Map<String,String> phaseKeyMap = new HashMap<String,String>();//éè¦å¤å¶ç模æ¿é¶æ®µå±æ§,key:value,模æ¿é¶æ®µèoid:模æ¿å±æ§æ°oid |
| | | List<String> phaseOidList = new ArrayList<String>(); |
| | | for (CodeTemplatePhase codeTemplatePhaseDO:codeTempphaseEntities){ |
| | | for (CodeTempphaseEntity codeTemplatePhaseDO:codeTempphaseEntities){ |
| | | String oldoid = codeTemplatePhaseDO.getOid(); |
| | | String newOid = VciBaseUtil.getPk(); |
| | | codeTemplatePhaseDO.setOid(newOid); |
| | |
| | | } |
| | | |
| | | //模æ¿é¶æ®µç屿§ |
| | | List<CodePhaseAttr> codePhaseAttrDOList = new ArrayList<CodePhaseAttr>(); |
| | | List<CodePhaseattrEntity> codePhaseAttrDOList = new ArrayList<CodePhaseattrEntity>(); |
| | | |
| | | if(!CollectionUtils.isEmpty(phaseOidList)){//size()==0ä¸è¾¹æ¹æ³ä¼æ¥é |
| | | // Map<String,String> conditionMap = new HashMap<>(); |
| | |
| | | // codePhaseAttrDOList = codePhaseAttrDaoI.selectByCondition(conditionMap,new PageHelper(-1)); |
| | | codePhaseAttrDOList = codePhaseattrMapper.selectByPhaseaIds(VciBaseUtil.toInSql(phaseOidList.toArray(new String[0]))); |
| | | } |
| | | for (CodePhaseAttr codePhaseAttrDO:codePhaseAttrDOList){ |
| | | for (CodePhaseattrEntity codePhaseAttrDO:codePhaseAttrDOList){ |
| | | String oldPhaseoid = codePhaseAttrDO.getCodePhaseOid(); |
| | | // String newOid = VciBaseUtil.getPk(); |
| | | codePhaseAttrDO.setOid(null); |
| | |
| | | // VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); |
| | | // codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); |
| | | |
| | | Map<String,Object> condition = new HashMap<>(1); |
| | | condition.put("classifyTemplateOid",templateOldOid); |
| | | // Map<String,Object> condition = new HashMap<>(1); |
| | | // condition.put("classifyTemplateOid",templateOldOid); |
| | | QueryWrapper<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); |
| | | wrapper.eq("classifyTemplateOid",templateOldOid); |
| | | |
| | | // List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); |
| | | List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); |
| | | List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectList(wrapper); |
| | | |
| | | for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ |
| | | // String attrOid = VciBaseUtil.getPk(); |
| | |
| | | return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO)); |
| | | } |
| | | |
| | | /** |
| | | *æ ¹æ®ç¶åç±»id廿¥æ¾å¶åèç¹ç模æ¿ï¼å¦ææ²¡æ¥å°å认为模æ¿å¨ä¸å±å»ºç«ï¼åæ ¹æ®åç±»å»æ¥å½åæ¨¡æ¿ |
| | | * @param codeClassifyOid ç¶åç±»çä¸»é® |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<CodeClstemplateVO> childTemplates(String codeClassifyOid){ |
| | | List<CodeClstemplateVO> codeClassifyTemplateVOList=new ArrayList<>(); |
| | | // Map<String/**模æ¿ç主é®**/,String/**åç±»ç主é®**/> childHasTemplateMap =baseMapper |
| | | // .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED, |
| | | // codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue()); |
| | | List<Map<String,String>> childHasTemplateList =baseMapper |
| | | .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED, |
| | | codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue()); |
| | | Map<String/**模æ¿ç主é®**/,String/**åç±»ç主é®**/> childHasTemplateMap = new HashMap<>(); |
| | | if(!CollectionUtils.isEmpty(childHasTemplateList)){ |
| | | childHasTemplateList.stream().forEach(cbo->{ |
| | | childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID")); |
| | | }); |
| | | } |
| | | |
| | | Set<String> templateOid = childHasTemplateMap.keySet(); |
| | | List<CodeClstemplateEntity> classifyTemplateDOS=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(templateOid)) { |
| | | classifyTemplateDOS= this.listCodeClassifyTemplateDOByOidCollections(templateOid); |
| | | }else{ |
| | | classifyTemplateDOS=selectOnlyTemplateByClassifyOid(codeClassifyOid); |
| | | } |
| | | List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(classifyTemplateDOS, true); |
| | | if(!CollectionUtils.isEmpty(templateVOList)){ |
| | | codeClassifyTemplateVOList.addAll(templateVOList); |
| | | } |
| | | return codeClassifyTemplateVOList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 使ç¨å类主é®é彿¥è¯¢ |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @return 模æ¿çæ°æ®å¯¹è±¡ |
| | | */ |
| | | private List<CodeClstemplateEntity> selectOnlyTemplateByClassifyOid(String codeClassifyOid){ |
| | | //1.ç´æ¥æ¥è¯¢ï¼ççè¿ä¸ªåç±»ä¸é¢ææ²¡æåå¸ç¶æçæ¨¡æ¿ |
| | | //2.å¦ææ²¡æï¼åå¾ä¸æ¾åç±»çå
容ï¼è¿ä¸ªåç±»å±çº§ä¸ä¼å¤ªå¤ï¼æä»¥ç´æ¥éå½å³å¯ |
| | | //3.妿åç±»ä¸é¢æ·»å äºæ¨¡æ¿ï¼ä½æ¯æ²¡æåå¸ï¼åè¯´ææ¨¡æ¿å¯è½è¿å¨ç¼è¾çç¶æï¼ä¾ç¶ä½¿ç¨ä¸çº§åç±» |
| | | |
| | | // Map<String,String> conditionMap = new HashMap<>(); |
| | | // conditionMap.put("codeClassifyOid",codeClassifyOid); |
| | | // conditionMap.put("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue()); |
| | | QueryWrapper<CodeClstemplateEntity> wrapper=new QueryWrapper<>(); |
| | | wrapper.eq("codeClassifyOid",codeClassifyOid) |
| | | .eq("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue()); |
| | | |
| | | List<CodeClstemplateEntity> templateDOS = baseMapper.selectList(wrapper); |
| | | if(CollectionUtils.isEmpty(templateDOS)){ |
| | | //é彿¾ä¸çº§çæ¨¡æ¿ |
| | | CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid); |
| | | // codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid); |
| | | if(StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){ |
| | | //说æå·²ç»æ¯é¡¶äºï¼ä¹æ²¡æ¾å°çè¯ï¼é£å°±è¿åäº |
| | | return null; |
| | | } |
| | | return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid()); |
| | | }else{ |
| | | return templateDOS; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨ä¸»é¢åºçå类主é®ï¼è·åçæçæ¨¡æ¿ |
| | | * |
| | | * @param codeClassifyOid 主é¢åºåç±»ä¸»é® |
| | | * @param hasAttribute æ¯å¦å
å«å±æ§ |
| | | * @return 模æ¿çä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public List<CodeClstemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid, boolean hasAttribute) { |
| | | VciBaseUtil.alertNotNull(codeClassifyOid,"主é¢åºå类主é®"); |
| | | List<CodeClstemplateEntity> templateDOS = selectOnlyTemplateByClassifyOid(codeClassifyOid); |
| | | if(CollectionUtils.isEmpty(templateDOS)){ |
| | | throw new VciBaseException("å½ååç±»ï¼ä»¥åå
¶ä¸çº§åç±»é½æ²¡æè®¾ç½®æ¨¡æ¿"); |
| | | } |
| | | List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(templateDOS, true); |
| | | return sortTemplateByRevision(templateVOList); |
| | | } |
| | | |
| | | /** |
| | | * ç¨æ¨¡æ¿ççæ¬æ¥æåº |
| | | * @param templateVOList 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | * @return æåºåçå表 |
| | | */ |
| | | @Override |
| | | public List<CodeClstemplateVO> sortTemplateByRevision(List<CodeClstemplateVO> templateVOList){ |
| | | if(!CollectionUtils.isEmpty(templateVOList) && templateVOList.size() >1){ |
| | | //è·åçæ¬å·æå¤§çé£ä¸ª |
| | | templateVOList = templateVOList.stream().sorted((o1,o2)-> |
| | | Integer.valueOf(o1.getRevisionSeq()).compareTo(Integer.valueOf(o2.getRevisionValue())) |
| | | ).collect(Collectors.toList()); |
| | | } |
| | | return templateVOList; |
| | | } |
| | | |
| | | /** |
| | | * 主é®è·åå类模æ¿å¯¹è±¡(å
å«å±æ§ï¼ |
| | | * |
| | | * @param oid ä¸»é® |
| | | * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public CodeClstemplateVO getObjectHasAttrByOid(String oid) throws VciBaseException { |
| | | List<CodeClstemplateEntity> doList = new ArrayList<>(); |
| | | doList.add(selectByOid(oid)); |
| | | List<CodeClstemplateVO> templateVOS = codeClassifyTemplateDO2VOs(doList, true); |
| | | return CollectionUtils.isEmpty(templateVOS)?null:templateVOS.get(0); |
| | | } |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; |
| | | import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; |
| | | import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; |
| | | import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper; |
| | | import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; |
| | | |
| | | /** |
| | | * å
³é®å±æ§æ¥éè§å æå¡å®ç°ç±» |
| | |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨åç±»çå
¨é¨ä¿¡æ¯æ¥è·åå
³é®å±æ§å¤æè§åçå
容 |
| | | * |
| | | * @param classifyFullInfo 主é¢åºåç±»çå
¨é¨ä¿¡æ¯ |
| | | * @return è§åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public CodeKeyattrrepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo) { |
| | | VciBaseUtil.alertNotNull(classifyFullInfo,"主é¢åºåç±»çä¿¡æ¯"); |
| | | String keyAttrRuleOid = classifyFullInfo.getCurrentClassifyVO().getCodekeyattrrepeatoid(); |
| | | if(StringUtils.isBlank(keyAttrRuleOid)){ |
| | | //æä»¬æ ¹æ®ä¸çº§çåç±»ï¼æç
§å±çº§ååºæå |
| | | if(!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())){ |
| | | //æä¸çº§åç±»çæ
åµä¸æå»æ¥è¯¢ |
| | | List<CodeClassifyVO> sortedClassifyVO = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList()); |
| | | for(int i = sortedClassifyVO.size() -1;i>=0;i--){ |
| | | CodeClassifyVO record = sortedClassifyVO.get(i); |
| | | |
| | | if(StringUtils.isNotBlank(record.getCodekeyattrrepeatoid())){ |
| | | keyAttrRuleOid = record.getCodekeyattrrepeatoid(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(keyAttrRuleOid)){ |
| | | CodeKeyAttrRepeatRuleVO objectByOid = getObjectByOid(keyAttrRuleOid); |
| | | CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); |
| | | BeanUtils.copyProperties(objectByOid,codeKeyattrrepeatVO); |
| | | return codeKeyattrrepeatVO; |
| | | } |
| | | //å
³é®å±æ§çè§åå¯ä»¥ä¸ºç©ºï¼ä¸ºç©ºçæ¶åå°±ä»£è¡¨ä¸æ§å¶ï¼ |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 主é®è·åå
³é®æ°æ®æ¥éè§å |
| | | * @param oid ä¸»é® |
| | | * @return å
³é®æ°æ®æ¥éè§åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public CodeKeyAttrRepeatRuleVO getObjectByOid(String oid){ |
| | | CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleVO = codeKeyAttrRepeatRuleDO2VO(selectByOid(oid)); |
| | | CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); |
| | | BeanUtils.copyProperties(codeKeyAttrRepeatRuleVO,codeKeyattrrepeatVO); |
| | | return codeKeyAttrRepeatRuleVO; |
| | | } |
| | | /** |
| | | * 䏻鮿¥è¯¢æ°æ®å¯¹è±¡ |
| | | * @param oid ä¸»é® |
| | | * @return æ°æ®å¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼å¹¶ä¸æ°æ®ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | private CodeKeyattrrepeatEntity selectByOid(String oid) { |
| | | VciBaseUtil.alertNotNull(oid,"主é®"); |
| | | |
| | | CodeKeyattrrepeatEntity codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); |
| | | // .selectByPrimaryKey(oid.trim()); |
| | | if(codeKeyAttrRepeatRuleDO == null || StringUtils.isBlank(codeKeyAttrRepeatRuleDO.getOid())){ |
| | | throw new VciBaseException(DATA_OID_NOT_EXIST); |
| | | } |
| | | return codeKeyAttrRepeatRuleDO; |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import com.vci.ubcs.code.mapper.CodePhaseattrMapper; |
| | | import com.vci.ubcs.code.service.ICodePhaseattrService; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | * @since 2023-04-20 |
| | | */ |
| | | @Service |
| | | public class CodePhaseattrServiceImpl extends ServiceImpl<CodePhaseAttrMapper, CodePhaseAttr> implements ICodePhaseattrService { |
| | | public class CodePhaseattrServiceImpl extends ServiceImpl<CodePhaseattrMapper, CodePhaseattrEntity> implements ICodePhaseattrService { |
| | | |
| | | @Override |
| | | public IPage<CodePhaseattrVO> selectCodePhaseattrPage(IPage<CodePhaseattrVO> page, CodePhaseattrVO CodePhaseattr) { |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 使ç¨ä¸»é®è·åç¼ç è§åçå
容 |
| | | * |
| | | * @param oid ä¸»é® |
| | | * @return è§åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public CodeRuleVO getObjectHasSecByOid(String oid) { |
| | | CodeRule ruleDO = selectByOid(oid); |
| | | return codeRuleDO2VO(ruleDO, true); |
| | | } |
| | | |
| | | /** |
| | | * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @param codeRuleDO è§åçæ°æ®å¯¹è±¡ |
| | | * @param hasSec æ¯å¦æ¥è¯¢ç 段 |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | public CodeRuleVO codeRuleDO2VO(CodeRule codeRuleDO, boolean hasSec) throws VciBaseException { |
| | | CodeRuleVO vo = new CodeRuleVO(); |
| | | if (codeRuleDO != null) { |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeRuleDO, vo); |
| | | //妿ælcstatusçç±»çè¯ |
| | | vo.setLcStatusText(CodeRuleLC.getTextByValue(vo.getLcStatus())); |
| | | if (hasSec) { |
| | | //æ¥è¯¢ç 段 |
| | | vo.setSecVOList(codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid())); |
| | | } |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | 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.core.toolkit.Wrappers; |
| | | |
| | |
| | | import com.vci.ubcs.code.constant.MdmBtmTypeConstant; |
| | | import com.vci.ubcs.code.dto.CodeTemplatePhaseDTO; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; |
| | | import com.vci.ubcs.code.mapper.CodePhaseattrMapper; |
| | | import com.vci.ubcs.code.mapper.CodeTemplatePhaseMapper; |
| | | import com.vci.ubcs.code.mapper.CommonsMapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; |
| | | import com.vci.ubcs.code.service.ICodePhaseattrService; |
| | | import com.vci.ubcs.code.service.ICodeTempphaseService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.service.RevisionModelUtil; |
| | | import com.vci.ubcs.starter.util.MybatisParameterUtils; |
| | | import com.vci.ubcs.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.ubcs.starter.util.MybatisParameterUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.util.BeanUtil; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.WebUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | |
| | | * @since 2023-04-20 |
| | | */ |
| | | @Service |
| | | public class CodeTempphaseServiceImpl extends ServiceImpl<CodeTemplatePhaseMapper, CodeTemplatePhase> implements ICodeTempphaseService { |
| | | public class CodeTempphaseServiceImpl extends ServiceImpl<CodeTemplatePhaseMapper, CodeTempphaseEntity> implements ICodeTempphaseService { |
| | | |
| | | @Autowired(required = false) |
| | | private CodePhaseAttrMapper codePhaseAttrMapper; |
| | | private CodePhaseattrMapper codePhaseAttrMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private CodeTemplatePhaseMapper codeTemplatePhaseMapper; |
| | |
| | | @Autowired |
| | | private ICodeClassifyTemplateAttrService tempAttrService; |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ææç模æ¿é¶æ®µ |
| | | * @param codeTemplatePhaseVO æ¥è¯¢æ¡ä»¶ |
| | |
| | | * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public DataGrid<CodeTemplatePhaseVO> gridCodeTemplatePhase(CodeTemplatePhaseVO codeTemplatePhaseVO, Query query) throws VciBaseException { |
| | | public DataGrid<CodeTemplatePhaseEntityVO> gridCodeTemplatePhase(CodeTemplatePhaseEntityVO codeTemplatePhaseVO, Query query) throws VciBaseException { |
| | | query.setDescs("createTime"); |
| | | query.setSize(-1); |
| | | |
| | | IPage<CodeTemplatePhase> doList = codeTemplatePhaseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeTemplatePhaseVO)); |
| | | DataGrid<CodeTemplatePhaseVO> dataGrid=new DataGrid<CodeTemplatePhaseVO>(); |
| | | IPage<CodeTempphaseEntity> doList = codeTemplatePhaseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeTemplatePhaseVO)); |
| | | DataGrid<CodeTemplatePhaseEntityVO> dataGrid=new DataGrid<CodeTemplatePhaseEntityVO>(); |
| | | if (!CollectionUtils.isEmpty(doList.getRecords())) { |
| | | dataGrid.setData(codeTemplatePhaseDO2VOs(doList.getRecords())); |
| | | dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeTemplatePhaseMapper.selectCount(Condition.getQueryWrapper(codeTemplatePhaseVO))))); |
| | |
| | | |
| | | /** |
| | | * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * @param codeTemplatePhaseDOs æ°æ®å¯¹è±¡å表 |
| | | * @param codeTemplatePhaseEntityDOS æ°æ®å¯¹è±¡å表 |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public List<CodeTemplatePhaseVO> codeTemplatePhaseDO2VOs(Collection<CodeTemplatePhase> codeTemplatePhaseDOs) throws VciBaseException{ |
| | | List<CodeTemplatePhaseVO> voList = new ArrayList<CodeTemplatePhaseVO>(); |
| | | if(!CollectionUtils.isEmpty(codeTemplatePhaseDOs)){ |
| | | for(CodeTemplatePhase s: codeTemplatePhaseDOs){ |
| | | CodeTemplatePhaseVO vo = codeTemplatePhaseDO2VO(s); |
| | | public List<CodeTemplatePhaseEntityVO> codeTemplatePhaseDO2VOs(Collection<CodeTempphaseEntity> codeTemplatePhaseEntityDOS) throws VciBaseException{ |
| | | List<CodeTemplatePhaseEntityVO> voList = new ArrayList<CodeTemplatePhaseEntityVO>(); |
| | | if(!CollectionUtils.isEmpty(codeTemplatePhaseEntityDOS)){ |
| | | for(CodeTempphaseEntity s: codeTemplatePhaseEntityDOS){ |
| | | CodeTemplatePhaseEntityVO vo = codeTemplatePhaseDO2VO(s); |
| | | if(vo != null){ |
| | | voList.add(vo); |
| | | } |
| | |
| | | |
| | | /** |
| | | * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * @param codeTemplatePhaseDO æ°æ®å¯¹è±¡ |
| | | * @param codeTemplatePhaseEntityDO æ°æ®å¯¹è±¡ |
| | | * @return æ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public CodeTemplatePhaseVO codeTemplatePhaseDO2VO(CodeTemplatePhase codeTemplatePhaseDO) throws VciBaseException{ |
| | | CodeTemplatePhaseVO vo = new CodeTemplatePhaseVO(); |
| | | if(codeTemplatePhaseDO != null){ |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDO,vo); |
| | | public CodeTemplatePhaseEntityVO codeTemplatePhaseDO2VO(CodeTempphaseEntity codeTemplatePhaseEntityDO) throws VciBaseException{ |
| | | CodeTemplatePhaseEntityVO vo = new CodeTemplatePhaseEntityVO(); |
| | | if(codeTemplatePhaseEntityDO != null){ |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseEntityDO,vo); |
| | | //妿ælcstatusçç±»çè¯ |
| | | } |
| | | return vo; |
| | |
| | | int updateCount = 0; |
| | | Map<String,Object> condition = new HashMap<>(1); |
| | | condition.put("codeclassifytemplateoid",templateOid); |
| | | List<CodeTemplatePhase> codeTempphaseEntities = baseMapper.selectByMap(condition); |
| | | List<CodeTempphaseEntity> codeTempphaseEntities = baseMapper.selectByMap(condition); |
| | | if(!CollectionUtils.isEmpty(codeTempphaseEntities)) { |
| | | updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTemplatePhase::getOid).collect(Collectors.toList())); |
| | | updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTempphaseEntity::getOid).collect(Collectors.toList())); |
| | | // batchCBO.copyFromOther(codeTemplatePhaseMapper.batchDeleteByOids(templatePhaseDOS.stream().map(CodeTemplatePhaseDO::getOid).collect(Collectors.toList()))); |
| | | // conditionMap.put("codePhaseOid", QueryOptionConstant.IN + "(select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + classifyTemplateOid + "')"); |
| | | List<CodePhaseAttr> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(templateOid); |
| | | List<CodePhaseattrEntity> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(templateOid); |
| | | if(!CollectionUtils.isEmpty(phaseAttrDOS)){ |
| | | updateCount += codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList())); |
| | | updateCount += codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList())); |
| | | } |
| | | } |
| | | return updateCount; |
| | |
| | | public List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> attrDOList){ |
| | | //屿§ä¿®æ¹çæ¶åï¼éè¦åæ¥ä¿®æ¹å¯¹åºå±æ§çåç§° |
| | | // BatchCBO batchCBO = new BatchCBO(); |
| | | List<CodePhaseAttr> phaseAttrDOS =codePhaseAttrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() |
| | | List<CodePhaseattrEntity> phaseAttrDOS =codePhaseAttrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() |
| | | .map(CodeClstempattrEntity::getId).collect(Collectors.toList()).toArray(new String[0])),attrDOList.get(0).getClassifytemplateoid()); |
| | | if(!CollectionUtils.isEmpty(phaseAttrDOS)){ |
| | | //说ææå±æ§,æä»¬å»æ¿æ¢ä¸ä¸ |
| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public CodeTemplatePhaseVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ |
| | | public CodeTemplatePhaseEntityVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡",codeTemplatePhaseDTO.getAttributes(),"å
å«ç屿§"); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeTemplatePhase codeTemplatePhaseDO = new CodeTemplatePhase(); |
| | | codeTemplatePhaseDO.setOid(VciBaseUtil.getPk()); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDTO,codeTemplatePhaseDO); |
| | | CodeTempphaseEntity codeTemplatePhaseEntityDO = new CodeTempphaseEntity(); |
| | | codeTemplatePhaseEntityDO.setOid(VciBaseUtil.getPk()); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); |
| | | //WebUtil.setPersistence(false); |
| | | boolean resBoolean = codeTemplatePhaseMapper.insert(codeTemplatePhaseDO) > 0; |
| | | List<CodePhaseAttr> attrDOList = new ArrayList<>(); |
| | | boolean resBoolean = codeTemplatePhaseMapper.insert(codeTemplatePhaseEntityDO) > 0; |
| | | List<CodePhaseattrEntity> attrDOList = new ArrayList<>(); |
| | | codeTemplatePhaseDTO.getAttributes().stream().forEach(attrDTO->{ |
| | | CodePhaseAttr attrDO = new CodePhaseAttr(); |
| | | CodePhaseattrEntity attrDO = new CodePhaseattrEntity(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(attrDTO,attrDO); |
| | | attrDO.setOid(VciBaseUtil.getPk()); |
| | | attrDO.setCodePhaseOid(codeTemplatePhaseDO.getOid()); |
| | | attrDO.setCodePhaseOid(codeTemplatePhaseEntityDO.getOid()); |
| | | attrDOList.add(attrDO); |
| | | }); |
| | | codePhaseattrService.saveBatch(attrDOList); |
| | | //WebUtil.setPersistence(true); |
| | | return codeTemplatePhaseDO2VO(codeTemplatePhaseDO); |
| | | return codeTemplatePhaseDO2VO(codeTemplatePhaseEntityDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public CodeTemplatePhaseVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ |
| | | public CodeTemplatePhaseEntityVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"æ°æ®å¯¹è±¡",codeTemplatePhaseDTO.getOid(),"模æ¿é¶æ®µä¸»é®",codeTemplatePhaseDTO.getAttributes(),"å
å«ç屿§"); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeTemplatePhase codeTemplatePhaseDO = selectByOid(codeTemplatePhaseDTO.getOid()); |
| | | revisionModelUtil.copyFromDTOIgnore(codeTemplatePhaseDTO,codeTemplatePhaseDO); |
| | | CodeTempphaseEntity codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); |
| | | revisionModelUtil.copyFromDTOIgnore(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); |
| | | //WebUtil.setPersistence(false); |
| | | codeTemplatePhaseMapper.updateById(codeTemplatePhaseDO); |
| | | codeTemplatePhaseMapper.updateById(codeTemplatePhaseEntityDO); |
| | | //æä»¥åçå é¤ |
| | | List<CodePhaseAttr> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseDO.getOid()); |
| | | List<CodePhaseattrEntity> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); |
| | | if(!CollectionUtils.isEmpty(phaseAttrDOS)){ |
| | | codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList())); |
| | | codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList())); |
| | | } |
| | | List<CodePhaseAttr> attrDOList = new ArrayList<>(); |
| | | List<CodePhaseattrEntity> attrDOList = new ArrayList<>(); |
| | | codeTemplatePhaseDTO.getAttributes().stream().forEach(attrDTO->{ |
| | | CodePhaseAttr attrDO = new CodePhaseAttr(); |
| | | CodePhaseattrEntity attrDO = new CodePhaseattrEntity(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(attrDTO,attrDO); |
| | | attrDO.setOid(VciBaseUtil.getPk()); |
| | | attrDO.setCodePhaseOid(codeTemplatePhaseDO.getOid()); |
| | | attrDO.setCodePhaseOid(codeTemplatePhaseEntityDO.getOid()); |
| | | attrDOList.add(attrDO); |
| | | }); |
| | | codePhaseattrService.saveBatch(attrDOList); |
| | | //WebUtil.setPersistence(true); |
| | | return codeTemplatePhaseDO2VO(codeTemplatePhaseDO); |
| | | return codeTemplatePhaseDO2VO(codeTemplatePhaseEntityDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R deleteCodeTemplatePhase(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"模æ¿é¶æ®µæ°æ®å¯¹è±¡",codeTemplatePhaseDTO.getOid(),"模æ¿é¶æ®µç主é®"); |
| | | CodeTemplatePhase codeTemplatePhaseDO = selectByOid(codeTemplatePhaseDTO.getOid()); |
| | | R baseResult = checkIsCanDeleteForDO(codeTemplatePhaseDTO,codeTemplatePhaseDO); |
| | | CodeTempphaseEntity codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); |
| | | R baseResult = checkIsCanDeleteForDO(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); |
| | | if(!baseResult.isSuccess()) { |
| | | }else{ |
| | | return baseResult; |
| | | } |
| | | //æ§è¡å é¤æä½ |
| | | //WebUtil.setPersistence(false); |
| | | boolean batchCBO = codeTemplatePhaseMapper.deleteById(codeTemplatePhaseDO.getOid())>0; |
| | | boolean batchCBO = codeTemplatePhaseMapper.deleteById(codeTemplatePhaseEntityDO.getOid())>0; |
| | | //éè¦å é¤å±æ§ |
| | | List<CodePhaseAttr> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseDO.getOid()); |
| | | List<CodePhaseattrEntity> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); |
| | | boolean deleteCBO = false; |
| | | if(!CollectionUtils.isEmpty(phaseAttrDOS)) { |
| | | deleteCBO = codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList()))>0; |
| | | deleteCBO = codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList()))>0; |
| | | } |
| | | //WebUtil.setPersistence(true); |
| | | return (batchCBO || deleteCBO)?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL); |
| | |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public CodeTemplatePhaseVO getObjectByOid(String oid) throws VciBaseException{ |
| | | public CodeTemplatePhaseEntityVO getObjectByOid(String oid) throws VciBaseException{ |
| | | return codeTemplatePhaseDO2VO(selectByOid(oid)); |
| | | } |
| | | |
| | |
| | | * @throws VciBaseException æ¥è¯¢åºç°å¼å¸¸æ¶ä¼æåº |
| | | */ |
| | | @Override |
| | | public Collection<CodeTemplatePhaseVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException{ |
| | | public Collection<CodeTemplatePhaseEntityVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); |
| | | List<CodeTemplatePhase> codeTemplatePhaseDOList = listCodeTemplatePhaseDOByOidCollections(oidCollections); |
| | | return codeTemplatePhaseDO2VOs(codeTemplatePhaseDOList); |
| | | List<CodeTempphaseEntity> codeTemplatePhaseEntityDOList = listCodeTemplatePhaseDOByOidCollections(oidCollections); |
| | | return codeTemplatePhaseDO2VOs(codeTemplatePhaseEntityDOList); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public DataGrid<CodeTemplatePhaseVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ |
| | | public DataGrid<CodeTemplatePhaseEntityVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ |
| | | if(conditionMap == null){ |
| | | conditionMap = new HashMap<String, String>(); |
| | | } |
| | | CodeTemplatePhaseVO codeTemplatePhaseVO = new CodeTemplatePhaseVO(); |
| | | CodeTemplatePhaseEntityVO codeTemplatePhaseVO = new CodeTemplatePhaseEntityVO(); |
| | | BeanMap beanMap = BeanMap.create(codeTemplatePhaseVO); |
| | | beanMap.putAll(conditionMap); |
| | | Query query = new Query(); |
| | |
| | | if(ids.size()<=1000){ |
| | | queryWrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda().notIn(CodeClassifyTemplateAttr::getId, ids); |
| | | }else { |
| | | queryWrapper = MybatisParameterUtils.cutNotInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); |
| | | queryWrapper = MybatisParameterUtil.cutNotInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); |
| | | } |
| | | //conditionMap.put("id", QueryOptionConstant.NOTIN + ids); |
| | | } |
| | |
| | | return new DataGrid<>(); |
| | | } |
| | | conditionMap.remove("codePhaseOid"); |
| | | CodeTemplatePhase phaseDO = selectByOid(codePhaseOid); |
| | | CodeTempphaseEntity phaseDO = selectByOid(codePhaseOid); |
| | | List<String> ids = commonsMapper.selectById("(select id from " + getPhaseAttrTable() + " where codePhaseOid ='" +codePhaseOid + "')"); |
| | | LambdaQueryWrapper<CodeClassifyTemplateAttr> queryWrapper = null; |
| | | // Wrappers.<CodeClassifyTemplateAttrVO>query() |
| | |
| | | if(ids.size()<=1000){ |
| | | queryWrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda().in(CodeClassifyTemplateAttr::getId, ids); |
| | | }else { |
| | | queryWrapper = MybatisParameterUtils.cutInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); |
| | | queryWrapper = MybatisParameterUtil.cutInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); |
| | | } |
| | | queryWrapper.eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,phaseDO.getCodeClassifyTemplateOid()); |
| | | return tempAttrService.gridCodeClassifyTemplateAttr(queryWrapper,pageHelper); |
| | |
| | | * @param oidCollections 主é®çéå |
| | | * @return æ°æ®å¯¹è±¡å表 |
| | | */ |
| | | private List<CodeTemplatePhase> listCodeTemplatePhaseDOByOidCollections(Collection<String> oidCollections){ |
| | | List<CodeTemplatePhase> codeTemplatePhaseDOList = new ArrayList<CodeTemplatePhase>(); |
| | | private List<CodeTempphaseEntity> listCodeTemplatePhaseDOByOidCollections(Collection<String> oidCollections){ |
| | | List<CodeTempphaseEntity> codeTemplatePhaseEntityDOList = new ArrayList<CodeTempphaseEntity>(); |
| | | if(!CollectionUtils.isEmpty(oidCollections)){ |
| | | Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); |
| | | for(Collection<String> oids: oidCollectionsList){ |
| | | List<CodeTemplatePhase> tempDOList = codeTemplatePhaseMapper.selectBatchIds(oids); |
| | | List<CodeTempphaseEntity> tempDOList = codeTemplatePhaseMapper.selectBatchIds(oids); |
| | | if(!CollectionUtils.isEmpty(tempDOList)){ |
| | | codeTemplatePhaseDOList.addAll(tempDOList); |
| | | codeTemplatePhaseEntityDOList.addAll(tempDOList); |
| | | } |
| | | } |
| | | } |
| | | return codeTemplatePhaseDOList; |
| | | return codeTemplatePhaseEntityDOList; |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªæ¯å¦å¯ä»¥å é¤ï¼å¦æåå¨ä¸çº§ï¼å¹¶ä¸ä¸çº§ææ°æ®å¼ç¨åä¸è½å é¤ |
| | | * @param codeTemplatePhaseDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | * @param codeTemplatePhaseDO æ°æ®åºä¸çæ°æ®å¯¹è±¡ |
| | | * @param codeTemplatePhaseEntityDO æ°æ®åºä¸çæ°æ®å¯¹è±¡ |
| | | * @return success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ |
| | | */ |
| | | private R checkIsCanDeleteForDO(CodeTemplatePhaseDTO codeTemplatePhaseDTO, CodeTemplatePhase codeTemplatePhaseDO) { |
| | | CodeTemplatePhase tsDO = new CodeTemplatePhase(); |
| | | private R checkIsCanDeleteForDO(CodeTemplatePhaseDTO codeTemplatePhaseDTO, CodeTempphaseEntity codeTemplatePhaseEntityDO) { |
| | | CodeTempphaseEntity tsDO = new CodeTempphaseEntity(); |
| | | BeanUtil.convert(codeTemplatePhaseDTO,tsDO); |
| | | if (checkTs(tsDO)) { |
| | | return R.fail(TS_NOT_PROCESS); |
| | | } |
| | | if(!checkIsLinked(codeTemplatePhaseDO.getOid())) { |
| | | if(!checkIsLinked(codeTemplatePhaseEntityDO.getOid())) { |
| | | return R.success("succcess"); |
| | | }else{ |
| | | return R.fail(DATA_LINKED_NOT_DELETE); |
| | |
| | | * @param tempDO |
| | | * @return |
| | | */ |
| | | private boolean checkTs(CodeTemplatePhase tempDO){ |
| | | LambdaQueryWrapper<CodeTemplatePhase> wrapper = Wrappers.<CodeTemplatePhase>query() |
| | | .lambda().eq(CodeTemplatePhase::getOid,tempDO.getOid()).select(CodeTemplatePhase::getTs); |
| | | private boolean checkTs(CodeTempphaseEntity tempDO){ |
| | | LambdaQueryWrapper<CodeTempphaseEntity> wrapper = Wrappers.<CodeTempphaseEntity>query() |
| | | .lambda().eq(CodeTempphaseEntity::getOid,tempDO.getOid()).select(CodeTempphaseEntity::getTs); |
| | | long dbTs = codePhaseAttrMapper.selectById(wrapper).getTs().getTime(); |
| | | long currentTs = tempDO.getTs().getTime(); |
| | | if(dbTs == currentTs){ |
| | |
| | | * @param codePhaseOid é¶æ®µçä¸»é® |
| | | * @return å
å«å±æ§çæ°æ®å¯¹è±¡ |
| | | */ |
| | | private List<CodePhaseAttr> listPhaseAttrDOByPhaseOid(String codePhaseOid){ |
| | | private List<CodePhaseattrEntity> listPhaseAttrDOByPhaseOid(String codePhaseOid){ |
| | | if(StringUtils.isBlank(codePhaseOid)||StringUtils.isEmpty(codePhaseOid)){ |
| | | return null; |
| | | } |
| | | List<CodePhaseAttr> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(codePhaseOid); |
| | | List<CodePhaseattrEntity> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(codePhaseOid); |
| | | return phaseAttrDOS; |
| | | } |
| | | |
| | |
| | | * @return æ°æ®å¯¹è±¡ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºï¼å¹¶ä¸æ°æ®ä¸åå¨çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | private CodeTemplatePhase selectByOid(String oid) throws VciBaseException{ |
| | | private CodeTempphaseEntity selectByOid(String oid) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(oid,"主é®"); |
| | | CodeTemplatePhase codeTemplatePhaseDO = codeTemplatePhaseMapper.selectById(oid.trim()); |
| | | if(codeTemplatePhaseDO == null || StringUtils.isBlank(codeTemplatePhaseDO.getOid())){ |
| | | CodeTempphaseEntity codeTemplatePhaseEntityDO = codeTemplatePhaseMapper.selectById(oid.trim()); |
| | | if(codeTemplatePhaseEntityDO == null || StringUtils.isBlank(codeTemplatePhaseEntityDO.getOid())){ |
| | | throw new VciBaseException(DATA_OID_NOT_EXIST); |
| | | } |
| | | return codeTemplatePhaseDO; |
| | | return codeTemplatePhaseEntityDO; |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeWupinVO; |
| | | import com.vci.ubcs.code.mapper.CodeWupinMapper; |
| | | import com.vci.ubcs.code.service.ICodeWupinService; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ æå¡å®ç°ç±» |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | @Service |
| | | public class CodeWupinServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupinEntity> implements ICodeWupinService { |
| | | |
| | | @Override |
| | | public IPage<CodeWupinVO> selectCodeWupinPage(IPage<CodeWupinVO> page, CodeWupinVO codeWupin) { |
| | | return page.setRecords(baseMapper.selectCodeWupinPage(page, codeWupin)); |
| | | } |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.sun.corba.se.impl.orbutil.ObjectUtility; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.entity.CodeAllCode; |
| | | import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; |
| | | import com.vci.ubcs.code.entity.CodeRule; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.enumpack.CodeDefaultLC; |
| | | import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.mapper.CodeAllCodeMapper; |
| | | import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper; |
| | | import com.vci.ubcs.code.mapper.CodeRuleMapper; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.vo.CodeClstempattrVO; |
| | | import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.omd.entity.Dict; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | import com.vci.ubcs.starter.web.toolmodel.DateConverter; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; |
| | | import com.vci.ubcs.starter.web.util.WebUtil; |
| | | import com.vci.ubcs.system.entity.DictBiz; |
| | | import com.vci.ubcs.system.feign.IDictBizClient; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * ä¸»æ°æ®å¼ææå¡ |
| | | * |
| | | * @author weidy |
| | | * @date 2022-2-22 |
| | | */ |
| | | @Service |
| | | public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService { |
| | | |
| | | |
| | | /** |
| | | * 模æ¿çæå¡ |
| | | */ |
| | | @Resource |
| | | private CodeClstemplateServiceImpl templateService; |
| | | /** |
| | | * 模æ¿çæå¡ |
| | | */ |
| | | @Resource |
| | | private CodeOsbtmtypeMapper codeOsbtmtypeMapper; |
| | | /** |
| | | * çæç¼ç çæå¡ |
| | | */ |
| | | @Resource |
| | | private MdmProductCodeService productCodeService; |
| | | /** |
| | | * åå
¸çæå¡ |
| | | */ |
| | | @Resource |
| | | IDictBizClient iDictBizClient; |
| | | |
| | | /** |
| | | * ç¼ç è§åçæå¡ |
| | | */ |
| | | @Autowired |
| | | private ICodeRuleService ruleService; |
| | | |
| | | /** |
| | | * åç±»çæå¡ |
| | | */ |
| | | @Resource |
| | | private ICodeClassifyService classifyService; |
| | | |
| | | /** |
| | | * å
³é®å±æ§çé
ç½® |
| | | */ |
| | | @Autowired |
| | | private ICodeKeyattrrepeatService keyRuleService; |
| | | /** |
| | | * æ¥å¿ |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | // @Autowired |
| | | // private CodeOsbtmtypeMapper codeOsbtmtypeMapper; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ |
| | | * |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) { |
| | | return getUsedTemplateByClassifyOid(codeClassifyOid, true); |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ |
| | | * |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @param hasAttr å
å«å±æ§ |
| | | * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) { |
| | | List<CodeClstemplateVO> templateVOs = templateService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr); |
| | | return templateVOs.get(templateVOs.size() - 1); |
| | | } |
| | | |
| | | /** |
| | | * è·åæä¸¾ç䏿é项 |
| | | * |
| | | * @param attrVO 模æ¿å±æ§ç对象 |
| | | * @return 䏿é项 |
| | | */ |
| | | @Override |
| | | public List<KeyValue> listComboboxItems(CodeClstempattrVO attrVO) { |
| | | List<KeyValue> comboboxKVs = null; |
| | | if (StringUtils.isNotBlank(attrVO.getEnumstring())) { |
| | | comboboxKVs = JSONObject.parseArray(attrVO.getEnumstring(), KeyValue.class); |
| | | } else { |
| | | // comboboxKVs = enumService.getEnum(attrVO.getEnumid()); |
| | | // Dict dict = new Dict(); |
| | | // dict.setParentId(Long.valueOf(attrVO.getEnumid())); |
| | | R<List<DictBiz>> list = iDictBizClient.getList(attrVO.getEnumid()); |
| | | if(list.isSuccess()){ |
| | | for (DictBiz datum : list.getData()) { |
| | | KeyValue keyValue = new KeyValue(); |
| | | keyValue.setKey(datum.getDictKey()); |
| | | keyValue.setValue(datum.getDictValue()); |
| | | comboboxKVs.add(keyValue); |
| | | } |
| | | } |
| | | } |
| | | return comboboxKVs; |
| | | } |
| | | /** |
| | | * ä¿®æ¹ç¶æ |
| | | * |
| | | * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public void changeStatus(BaseModelDTO baseModelDTO) { |
| | | VciBaseUtil.alertNotNull(baseModelDTO, "æ°æ®ä¿¡æ¯", baseModelDTO.getOid(), "主é®", baseModelDTO.getBtmname(), "ä¸å¡ç±»å", baseModelDTO.getLcStatus(), "ç®æ ç¶æ"); |
| | | List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid()); |
| | | // List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname()); |
| | | //æä¸ªç¹ ä¸å¡ç±»å宿åéè¦ä¿®æ¹ |
| | | QueryWrapper<CodeOsbtmtypeEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("BTMNAME",baseModelDTO.getBtmname()); |
| | | wrapper.in("OID",oids); |
| | | List<CodeOsbtmtypeEntity> cboList = codeOsbtmtypeMapper.selectList(wrapper); |
| | | //è¿éè¦ä¿®æ¹allCodeççå½å¨æ |
| | | // Map<String, String> conditionMap = new HashMap<>(); |
| | | QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); |
| | | allCodeWrapper.eq("createcodebtm",baseModelDTO.getBtmname()); |
| | | allCodeWrapper.in("createcodeoid",oids); |
| | | // conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); |
| | | // conditionMap.put("createcodebtm", baseModelDTO.getBtmname()); |
| | | List<CodeAllCode> codeCbos = baseMapper.selectList(allCodeWrapper); |
| | | // List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap); |
| | | // åæ¶éè¦ä¸å¡æ°æ®å é¤ |
| | | // if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) { |
| | | //// BatchCBO batchCBO = new BatchCBO(); |
| | | //// batchCBO.getDeleteCbos().addAll(cboList); |
| | | // codeOsbtmtypeMapper.deleteBatchIds(cboList); |
| | | //// boService.persistenceBatch(batchCBO); |
| | | // } else { |
| | | // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus()); |
| | | // } |
| | | // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ç³è¯·åä¸ç¼ç |
| | | * |
| | | * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å
å«å±æ§çå
容åç æ®µç¸å
³çå
容 |
| | | * @return è¿åç¼ç çå
容 |
| | | */ |
| | | @Override |
| | | public String addSaveCode(CodeOrderDTO orderDTO) { |
| | | VciBaseUtil.alertNotNull(orderDTO, "ç¼ç ç³è¯·ç¸å
³ç屿§åç æ®µçå
容é½ä¸ºç©º", orderDTO.getCodeClassifyOid(), "主é¢åºåç±»ç主é®", |
| | | orderDTO.getTemplateOid(), "模æ¿ç主é®", orderDTO.getCodeRuleOid(), "ç¼ç è§åç主é®"); |
| | | CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); |
| | | CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); |
| | | CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); |
| | | //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå
¶ä»ç 段 |
| | | checkSecValueOnOrder(ruleVO, orderDTO); |
| | | //2.夿å¿
è¾é¡¹ |
| | | checkRequiredAttrOnOrder(templateVO, orderDTO); |
| | | //3.å
注å
¥ï¼åç»åï¼æåæ ¡éª |
| | | switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO); |
| | | //4.å¤çç»åè§åãç»åè§åä¸è½ä½¿ç¨ç¼ç ç屿§ï¼å 为ç¼ç ççæå¯è½æ¯éè¦å±æ§ç |
| | | switchComponentAttrOnOrder(templateVO, orderDTO); |
| | | //5.æ ¡éªè§å |
| | | checkVerifyOnOrder(templateVO, orderDTO); |
| | | //6.å
³é®å±æ§ |
| | | checkKeyAttrOnOrder(classifyFullInfo, templateVO, orderDTO); |
| | | //7.æä¸¾è½¬æ¢ |
| | | checkEnumOnOrder(templateVO, orderDTO); |
| | | //8.å¤çæ¶é´æ ¼å¼ï¼å¨æ°æ®åºéé¢ä¸è®ºæ¯åç¬¦ä¸²è¿æ¯æ¥ææ ¼å¼ï¼é½ä½¿ç¨ç¸åçæ ¼å¼åå¨ |
| | | switchDateAttrOnOrder(templateVO, orderDTO); |
| | | //9.çæç¼ç çä¿¡æ¯ |
| | | // ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); |
| | | // CodeWupinEntity cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); |
| | | // //é»è®¤ç屿§é½ä¸ç¨ä»å端æ·è´ |
| | | // //设置ç¼ç éè¦çé»è®¤å±æ§çå
容 |
| | | // copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false); |
| | | // //TODO:å 为é»è®¤ç屿§é½ä¸æ·è´ï¼ç®åéå¢ç å«nameï¼å¹¶æ²¡æä»DTOæ·è´å°cboéãå¢å ä¸ä¸ªåç¬å¤çï¼ä»¥ååçè¦ä¸è¦è°æ´ |
| | | // cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName()); |
| | | // //end -- modify by lihang @20220407 |
| | | // List<CodeWupinEntity> cboList = new ArrayList<>(); |
| | | // |
| | | // //夿³¨ |
| | | // cbo.setDescription(orderDTO.getDescription()); |
| | | // |
| | | // cboList.add(cbo); |
| | | // List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(),cboList); |
| | | //// batchSaveSelectChar(templateVO, cboList); |
| | | // return codeList.size() > 0 ? codeList.get(0) : ""; |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * å¤çå类注å
¥çä¿¡æ¯ |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼å¿
é¡»è¦å模æ¿ç屿§ |
| | | * @param classifyFullInfoBO åç±»çå
¨è·¯å¾ |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | */ |
| | | private void switchClassifyLevelOnOrder(CodeClstemplateVO templateVO, CodeClassifyFullInfoBO classifyFullInfoBO, CodeOrderDTO orderDTO) { |
| | | Map<String,CodeClstempattrVO> classifyAttrVOMap = templateVO.getAttributes().stream().filter( |
| | | s -> StringUtils.isNotBlank(s.getClassifyinvokeattr()) && StringUtils.isNotBlank(s.getClassifyinvokelevel()) |
| | | ).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (classifyFullInfoBO.getTopClassifyVO() == null) { |
| | | //éè¦éæ°æ¥è¯¢ä¸ä¸ï¼å 为è¿ä¸ªæ¯æå®çåç±»è¿æ¥ç |
| | | |
| | | } |
| | | if (!CollectionUtils.isEmpty(classifyAttrVOMap)) { |
| | | classifyAttrVOMap.forEach((attrId, attrVO) -> { |
| | | //å类注å
¥çç¼å·æè
åç§°ï¼ |
| | | //å±çº§å
嫿å®å±åæå°å± |
| | | CodeClassifyVO classifyVO = null; |
| | | if (!CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(attrVO.getClassifyinvokelevel()) && !"min".equalsIgnoreCase(attrVO.getClassifyinvokelevel())) { |
| | | //æå®äºå±çº§ç |
| | | //注æï¼å 为æ¥è¯¢ä¸çº§åç±»åºæ¥çå±çº§æ¯ååºçï¼å³é¡¶å±èç¹æ¯æå¤§çå¼ |
| | | List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); |
| | | int level = VciBaseUtil.getInt(attrVO.getClassifyinvokelevel()); |
| | | if (classifyVOS.size() >= level && level > 0) { |
| | | classifyVO = classifyVOS.get(level - 1); |
| | | } |
| | | } else { |
| | | //å½åçåç±» |
| | | classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); |
| | | } |
| | | if (classifyVO == null) { |
| | | //说æå±çº§æè¯¯ |
| | | orderDTO.getData().put(attrId, "åç±»æ 䏿²¡æå±çº§[" + attrVO.getClassifyinvokelevel() + "]"); |
| | | // classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); |
| | | } else { |
| | | Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO); |
| | | String value = classifyDataMap.getOrDefault(attrVO.getClassifyinvokeattr(), ""); |
| | | orderDTO.getData().put(attrId, value); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 夿ç¼ç çç æ®µæ¯å¦è¾å
¥æè
éæ©äºç å¼ |
| | | * |
| | | * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ |
| | | * @param orderDTO ç¼ç ç³è¯·çå
容 |
| | | */ |
| | | @Override |
| | | public void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO) { |
| | | List<String> unSerialSecOidList = ruleVO.getSecVOList().stream().filter( |
| | | s -> !(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue().equalsIgnoreCase(s.getSecType()) |
| | | || CodeSecTypeEnum.CODE_ATTR_SEC.getValue().equalsIgnoreCase(s.getSecType()) |
| | | || CodeSecTypeEnum.CODE_DATE_SEC.getValue().equalsIgnoreCase(s.getSecType()) |
| | | || CodeSecTypeEnum.CODE_LEVEL_SEC.getValue().equalsIgnoreCase(s.getSecType()) |
| | | || VciBaseUtil.getBoolean(s.getNullableFlag())) |
| | | ).map(CodeBasicSecVO::getOid).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(unSerialSecOidList)) { |
| | | if (CollectionUtils.isEmpty(orderDTO.getSecDTOList())) { |
| | | throw new VciBaseException("éæµæ°´ç æ®µ(æè
å¿
è¾ç 段ï¼å¿
é¡»è¦è¾å
¥(æéæ©)ç å¼"); |
| | | } |
| | | if (orderDTO.getSecDTOList().stream().anyMatch(s -> !unSerialSecOidList.contains(s.getSecOid()) |
| | | && StringUtils.isBlank(s.getSecValue()))) { |
| | | throw new VciBaseException("éæµæ°´ç æ®µ(æè
å¿
è¾ç 段ï¼å¿
é¡»è¦è¾å
¥(æéæ©)ç å¼"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªå±æ§æ¯å¦ä¸ºå¿
è¾ |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å
嫿¨¡æ¿å±æ§ |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | */ |
| | | private void checkRequiredAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | Map<String, CodeClstempattrVO> requiredAttrMap = templateVO.getAttributes().stream().filter( |
| | | s -> VciBaseUtil.getBoolean(s.getRequireflag()) && StringUtils.isBlank(s.getComponentrule()) |
| | | && StringUtils.isBlank(s.getClassifyinvokeattr())) |
| | | .collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (!CollectionUtils.isEmpty(requiredAttrMap)) { |
| | | requiredAttrMap.forEach((attrId, attrVO) -> { |
| | | //åªæä¼ä¸ç¼ç ï¼ç¶æï¼å¤æ³¨ï¼æ¨¡æ¿ä¸»é®ï¼å类主é®è¿å 个æ¯åºå®çï¼å
¶ä½é½æ¯èªè¡é
ç½®ç |
| | | if (StringUtils.isBlank(getValueFromOrderDTO(orderDTO, attrId))) { |
| | | throw new VciBaseException("屿§ã{0}ãå¿
é¡»è¦è¾å
¥(éæ©)å
容", new String[]{attrVO.getName()}); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä»ç¼ç ç³è¯·ä¿¡æ¯å¯¹è±¡ä¸è·åæä¸ªå±æ§çå¼ |
| | | * |
| | | * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ |
| | | * @param attrId 屿§çç¼å· |
| | | * @return å¼ |
| | | */ |
| | | private String getValueFromOrderDTO(CodeOrderDTO orderDTO, String attrId) { |
| | | attrId = attrId.toLowerCase(Locale.ROOT); |
| | | String value = null; |
| | | if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { |
| | | value = WebUtil.getStringValueFromObject(WebUtil.getValueFromField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO)); |
| | | } else { |
| | | //è¯´ææ¯èªè¡é
ç½®ç |
| | | //å端å¿
é¡»è¦ä¼ éå°åç屿§ |
| | | value = orderDTO.getData().getOrDefault(attrId, ""); |
| | | } |
| | | return value; |
| | | } |
| | | |
| | | /** |
| | | * 转æ¢ç»åè§åçå¼ |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å
嫿¨¡æ¿å±æ§ |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | */ |
| | | private void switchComponentAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | Map<String, CodeClstempattrVO> compAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getComponentrule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (!CollectionUtils.isEmpty(compAttrVOMap)) { |
| | | Map<String, String> dataMap = WebUtil.objectToMapString(orderDTO); |
| | | |
| | | Map<String, String> dataLowMap = new HashMap<>(); |
| | | if (!CollectionUtils.isEmpty(dataMap)) { |
| | | dataMap.forEach((key, value) -> { |
| | | dataLowMap.put(key.toLowerCase(Locale.ROOT), value); |
| | | }); |
| | | } |
| | | dataLowMap.putAll(orderDTO.getData()); |
| | | compAttrVOMap.forEach((attrId, attrVO) -> { |
| | | // dataLowMap.put(attrId, formulaService.getValueByFormula(dataLowMap, attrVO.getComponentrule())); |
| | | }); |
| | | dataLowMap.forEach((key, value) -> { |
| | | setValueToOrderDTO(orderDTO, key, value); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设置æ°çå¼å°ç³è¯·å¯¹è±¡ä¸ |
| | | * |
| | | * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ |
| | | * @param attrId 屿§çç¼å· |
| | | * @param value å¼ |
| | | */ |
| | | private void setValueToOrderDTO(CodeOrderDTO orderDTO, String attrId, String value) { |
| | | attrId = attrId.toLowerCase(Locale.ROOT); |
| | | if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { |
| | | WebUtil.setValueToField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO, value); |
| | | } else { |
| | | orderDTO.getData().put(attrId, value); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªæ£åè¡¨è¾¾å¼æ¯å¦æ£ç¡® |
| | | * |
| | | * @param templateVO 模æ¿çä¿¡æ¯ï¼å¿
é¡»å
å«å±æ§çå
容 |
| | | * @param orderDTO ç¼ç ç³è¯·çç¸å
³çä¿¡æ¯ |
| | | */ |
| | | private void checkVerifyOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | Map<String, CodeClstempattrVO> verifyAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getVerifyrule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (!CollectionUtils.isEmpty(verifyAttrVOMap)) { |
| | | verifyAttrVOMap.forEach((attrId, attrVO) -> { |
| | | String value = getValueFromOrderDTO(orderDTO, attrId); |
| | | if (StringUtils.isNotBlank(value) && !value.matches(attrVO.getVerifyrule())) { |
| | | //æ ¡éªæ£åè¡¨è¾¾å¼ |
| | | throw new VciBaseException("屿§[{0}]çå¼ä¸ç¬¦åæ ¡éªè§åçè¦æ±", new String[]{attrVO.getName()}); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªå
³é®å±æ§ |
| | | * |
| | | * @param classifyFullInfo åç±»çå
¨é¨ä¿¡æ¯ |
| | | * @param templateVO 模æ¿çå
容ï¼å¿
é¡»å
嫿¨¡æ¿å±æ§ |
| | | * @param orderDTO ç¼ç ç³è¯·çç¸å
³çä¿¡æ¯ |
| | | */ |
| | | private void checkKeyAttrOnOrder(CodeClassifyFullInfoBO classifyFullInfo, CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | //å
è·åå
³é®å±æ§çè§åï¼ä¹å©ç¨ç»§æ¿çæ¹å¼ |
| | | CodeKeyattrrepeatVO keyRuleVO = keyRuleService.getRuleByClassifyFullInfo(classifyFullInfo); |
| | | //注æçæ¯keyRuleVOå¯è½ä¸ºç©ºï¼è¡¨ç¤ºä¸ä½¿ç¨è§åæ§å¶ |
| | | //è·åææçå
³é®å±æ§ |
| | | Map<String, CodeClstempattrVO> ketAttrMap = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getKeyattrflag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | Map<String, String> conditionMap = new HashMap<>(); |
| | | boolean trimAll = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnoreallspaceflag()); |
| | | //å
¨é¨å»ç©ºçä¼å
级大äºå»ç©º |
| | | boolean trim = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorespaceflag()); |
| | | boolean ignoreCase = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorecaseflag()); |
| | | boolean ignoreWidth = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorewidthflag()); |
| | | ketAttrMap.forEach((attrId, attrVO) -> { |
| | | String value = getValueFromOrderDTO(orderDTO, attrId); |
| | | if (value == null) { |
| | | value = ""; |
| | | } |
| | | // wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); |
| | | }); |
| | | |
| | | //没æéå¶åç±»ï¼ä½æ¯ä¸ä¸ªæ¨¡æ¿åªå¯è½å¨ä¸ä¸ªä¸å¡ç±»åéé¢ï¼æä»¥ç´æ¥æ¥è¯¢è¿ä¸ªä¸å¡ç±»åå³å¯ |
| | | |
| | | // if (!CollectionUtils.isEmpty(conditionMap)) { |
| | | // final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; |
| | | // conditionMap.forEach((key, value) -> { |
| | | // sql[0] += " and " + key + " = " + value; |
| | | // }); |
| | | // if (StringUtils.isNotBlank(orderDTO.getOid())) { |
| | | // //ä¿®æ¹çæ¶åï¼éè¦æé¤èªå·± |
| | | // sql[0] += " and oid != '" + orderDTO.getOid() + "'"; |
| | | // } else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) { |
| | | // sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; |
| | | // } |
| | | // sql[0] += " and islastR = '1' and islastV = '1' "; |
| | | // if (boService.queryCountBySql(sql[0], new HashMap<>()) > 0) { |
| | | // String ruleInfoMsg = keyRuleVO == null ? "" : "æ¥è¯¢è§åï¼å»é¤ç©ºæ ¼--{0},忽ç¥å¤§å°å--{1},忽ç¥å
¨åè§--{2},忽ç¥å
¨é¨ç©ºæ ¼--{3}"; |
| | | // String[] objs = new String[]{trim ? "æ¯" : "å¦", ignoreCase ? "æ¯" : "å¦", ignoreWidth ? "æ¯" : "å¦", trimAll ? "æ¯" : "å¦"}; |
| | | // throw new VciBaseException("æ ¹æ®æ¨å¡«åçå
³é®å±æ§çå
容ï¼ç»åå
³é®å±æ§æ¥è¯¢è§åï¼åç°è¿ä¸ªæ°æ®å·²ç»å¨ç³»ç»ä¸åå¨äºã请修æ£!ã" + ruleInfoMsg, objs); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | /** |
| | | * å°è£
å
³é®å±æ§çæ¥è¯¢è¯å¥ |
| | | * |
| | | * @param value å½åçå¼ |
| | | * @param keyRuleVO å
³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º |
| | | * @param attrId 屿§çç¼å· |
| | | * @param trim æ¯å¦å»é¤ç©ºæ ¼ |
| | | * @param ignoreCase æ¯å¦ä¸åºå大å°å |
| | | * @param ignoreWidth æ¯å¦å¿½ç¥å
¨åè§ |
| | | * @param trimAll æ¯å¦å¿½ç¥å
¨é¨ç©ºæ ¼ |
| | | * @param conditionMap æ¥è¯¢æ¡ä»¶ |
| | | */ |
| | | // @Override |
| | | // public void wrapperKeyAttrConditionMap(String value, CodeKeyattrrepeatVO keyRuleVO, String attrId, |
| | | // boolean trim, boolean ignoreCase, boolean ignoreWidth, |
| | | // boolean trimAll, Map<String, String> conditionMap) { |
| | | // boolean ignoreSpace = trim || trimAll; |
| | | // if (StringUtils.isBlank(value)) { |
| | | // //ä¸ºç©ºçæ¶åï¼ä¸è½ç¨QueryOperation.ISNULLï¼å¹³å°ä¸ç¥é奿¶åä¸å¤çè¿ç§äº |
| | | // conditionMap.put("t."+attrId, "null"); |
| | | // } else { |
| | | // if (keyRuleVO != null) { |
| | | // String queryKey = ""; |
| | | // String queryValue = ""; |
| | | // |
| | | // String temp = ""; |
| | | // if (ignoreCase && ignoreSpace && ignoreWidth) { |
| | | // //忽ç¥å¤§å°åï¼ä¸å»ç©ºï¼å¿½ç¥å
¨åè§ |
| | | // temp = (trimAll ? "REPLACE" : "TRIM") + "(UPPER(to_single_byte(%s)) " + (trimAll ? ",' ','')" : ")"); |
| | | // } else if (ignoreCase && ignoreSpace && !ignoreWidth) { |
| | | // //忽ç¥å¤§å°åãå»ç©ºãä¸å¿½ç¥å
¨åè§ |
| | | // temp = (trimAll ? "REPLACE" : "TRIM") + "(UPPER(%s) " + (trimAll ? ",' ','')" : ")"); |
| | | // } else if (ignoreCase && !ignoreSpace && ignoreWidth) { |
| | | // //忽ç¥å¤§å°åãä¸å»ç©ºã忽ç¥å
¨åè§ |
| | | // temp = "UPPER(to_single_byte(%s))"; |
| | | // } else if (!ignoreCase && ignoreSpace && ignoreWidth) { |
| | | // //ä¸å¿½ç¥å¤§å°åãå»ç©ºã忽ç¥å
¨åè§ |
| | | // temp = (trimAll ? "REPLACE" : "TRIM") + "(to_single_byte(%s) " + (trimAll ? ",' ','')" : ")"); |
| | | // } else if (ignoreCase && !ignoreSpace && !ignoreWidth) { |
| | | // //忽ç¥å¤§å°åãä¸å»ç©ºãä¸å¿½ç¥å
¨åè§ |
| | | // temp = "UPPER(%s)"; |
| | | // } else if (!ignoreCase && !ignoreCase && ignoreWidth) { |
| | | // //ä¸å¿½ç¥å¤§å°åãä¸å»ç©ºã忽ç¥å
¨åè§ |
| | | // temp = "to_single_byte(%s)"; |
| | | // } else if (!ignoreCase && ignoreSpace && !ignoreWidth) { |
| | | // //ä¸å¿½ç¥å¤§å°åãå»ç©ºãä¸å¿½ç¥å
¨åè§ |
| | | // temp = (trimAll ? "REPLACE" : "TRIM") + "(%s " + (trimAll ? ",' ','')" : ")"); |
| | | // } else if (!ignoreCase && !ignoreSpace && !ignoreWidth) { |
| | | // //ä¸å¿½ç¥å¤§å°åãä¸å»ç©ºãä¸å¿½ç¥å
¨åè§ |
| | | // temp = "%s"; |
| | | // } |
| | | // queryKey = String.format(temp, "t."+attrId); |
| | | // queryValue = String.format(temp, "'" + (trim ? value.trim() : value) + "'"); |
| | | // conditionMap.put(queryKey, queryValue); |
| | | // } else { |
| | | // //ä¸ºç©ºçæ¶åä¸ä»£è¡¨ä¸æ ¡éªï¼åªæ¯ä¸å»é¤ç¸å
³çä¿¡æ¯ |
| | | // conditionMap.put("t."+attrId, value); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * æ ¡éªæä¸¾çå
容 |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å
å«å±æ§ |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | */ |
| | | private void checkEnumOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | //妿æä¸¾å¯ä»¥ä¿®æ¹ï¼åä¸éè¦æ ¡éªæ¯å¦ç¬¦åæä¸¾çé项 |
| | | |
| | | Map<String, CodeClstempattrVO> enumAttrVOMap = templateVO.getAttributes().stream().filter(s -> (StringUtils.isNotBlank(s.getEnumstring()) || StringUtils.isNotBlank(s.getEnumid())) && !VciBaseUtil.getBoolean(s.getEnumeditflag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (!CollectionUtils.isEmpty(enumAttrVOMap)) { |
| | | enumAttrVOMap.forEach((attrId, attrVO) -> { |
| | | String value = getValueFromOrderDTO(orderDTO, attrId); |
| | | if (StringUtils.isNotBlank(value)) { |
| | | //æå¼æè½æ ¡éª |
| | | List<KeyValue> comboboxKVs = listComboboxItems(attrVO); |
| | | if (!comboboxKVs.stream().anyMatch(s -> value.equalsIgnoreCase(s.getKey()))) { |
| | | throw new VciBaseException("屿§ã{0}ãçå¼ä¸ç¬¦åæä¸¾çè¦æ±", new String[]{attrVO.getName()}); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è½¬æ¢æ¶é´çæ ¼å¼ |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å
å«å±æ§ |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | */ |
| | | private void switchDateAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { |
| | | Map<String, CodeClstempattrVO> dateAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getCodedateformat())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | if (!CollectionUtils.isEmpty(dateAttrVOMap)) { |
| | | dateAttrVOMap.forEach((attrId, attrVO) -> { |
| | | String value = getValueFromOrderDTO(orderDTO, attrId); |
| | | if (StringUtils.isNotBlank(value)) { |
| | | DateConverter dateConverter = new DateConverter(); |
| | | dateConverter.setAsText(value); |
| | | value = VciDateUtil.date2Str(dateConverter.getValue(), VciDateUtil.DateTimeMillFormat); |
| | | setValueToOrderDTO(orderDTO, attrId, value); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ·è´æ°æ®å°cboå¯¹è±¡ä¸ |
| | | * |
| | | * @param classifyFullInfo åç±»çå
¨é¨ä¿¡æ¯ |
| | | * @param cbo ä¸å¡æ°æ® |
| | | * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | | * @param edit æ¯å¦ä¸ºä¿®æ¹ |
| | | */ |
| | | private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupinEntity cbo, |
| | | CodeOrderDTO orderDTO, CodeClstemplateVO templateVO, |
| | | boolean edit) { |
| | | String fullPath = ""; |
| | | if (!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())) { |
| | | fullPath = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))) |
| | | .map(CodeClassifyVO::getOid).collect(Collectors.joining("##")); |
| | | } else { |
| | | fullPath = classifyFullInfo.getCurrentClassifyVO().getOid(); |
| | | } |
| | | |
| | | // BeanUtils. |
| | | BeanUtils.copyProperties(orderDTO.getData(),cbo); |
| | | cbo.setMaterialtype(Short.valueOf("1001")); |
| | | // orderDTO.getData().forEach((key, value) -> { |
| | | // if (!edit || (!checkUnAttrUnEdit(key) && |
| | | // !VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) { |
| | | // try { |
| | | // cbo.setAttributeValue(key, value); |
| | | // } catch (Exception e) { |
| | | // logger.error("è®¾ç½®å±æ§çå¼é误", e); |
| | | // } |
| | | // } |
| | | // }); |
| | | try { |
| | | |
| | | cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid()); |
| | | cbo.setCodetemplateoid(templateVO.getOid()); |
| | | cbo.setCodeclsfpath(fullPath); |
| | | // cbo.setMaterialclassify("model_type"); |
| | | // cbo.setMaterialname(orderDTO.getData().get("materialname")); |
| | | // cbo.setShifoupihaoguanli("true"); |
| | | // cbo.setKucunwl("true"); |
| | | // cbo.setXiaoshouwl("false"); |
| | | if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) { |
| | | //æ¾çå½å¨æçèµ·å§ç¶æï¼æä¸ªç¹ï¼ççå½å¨ææ¯å¦éè¦å建 |
| | | if (StringUtils.isNotBlank(cbo.getLctid())) { |
| | | // OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid()); |
| | | // if (lifeCycleVO != null) { |
| | | // cbo.setLcStatus("Editing"); |
| | | //// cbo.setLcStatus(lifeCycleVO.getStartStatus()); |
| | | // } else { |
| | | cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); |
| | | // } |
| | | } else { |
| | | cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); |
| | | } |
| | | |
| | | } |
| | | |
| | | int secret = VciBaseUtil.getInt(cbo.getSecretGrade().toString()); |
| | | //æä¸ªç¹ï¼åç»çå¯çº§æå¡æ¯å¦å¯ç¨ |
| | | // if (secret == 0 || !secretService.checkDataSecret(secret)) { |
| | | if (secret == 0 ) { |
| | | Integer userSecret = VciBaseUtil.getCurrentUserSecret(); |
| | | // cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret)); |
| | | cbo.setSecretGrade(userSecret == null || userSecret == 0 ? UserSecretEnum.NONE.getValue() : userSecret); |
| | | } |
| | | } catch (Throwable e) { |
| | | logger.error("设置é»è®¤ç屿§çå¼é误", e); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * åå§åä¸å¡ç±»å |
| | | * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç |
| | | * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å |
| | | * @return CodeWupinEntity |
| | | * @throws VciBaseException åå§ååºéçæ¯ä¼æåºå¼å¸¸ |
| | | */ |
| | | // @Override |
| | | // public CodeWupinEntity createCBOByBtmName(String btmName) |
| | | // throws VciBaseException { |
| | | // if(btmName!=null){ |
| | | // btmName = btmName.trim().toLowerCase(); |
| | | // } |
| | | // String userid = AuthUtil.getUser().getUserName(); |
| | | //// if(!hasCreatedCbos.containsKey(btmName)){ |
| | | //// if(StringUtils.isEmpty(userid)){ |
| | | //// throw new VciBaseException(msgCodePrefix +"noHasUserid"); |
| | | //// } |
| | | //// try { |
| | | //// hasCreatedCbos.put(btmName, createBusinessObject(btmName)); |
| | | //// } catch (Exception e) { |
| | | //// logger.error("å建ä¸å¡ç±»å对象",e); |
| | | //// throw new VciBaseException(msgCodePrefix + "initBoError",new String[]{btmName}); |
| | | //// } |
| | | //// } |
| | | //// ClientBusinessObject cbo = cloneClientBusinessObject(hasCreatedCbos.get(btmName)); |
| | | // |
| | | // QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>(); |
| | | // btmWrapper.eq("ID",btmName); |
| | | // CodeOsbtmtypeEntity btmTypeVO = codeOsbtmtypeMapper.selectOne(btmWrapper); |
| | | //// OsBtmTypeVO btmTypeVO = btmService.getBtmById(boName); |
| | | // String userName = AuthUtil.getUser().getUserName(); |
| | | // CodeWupinEntity wupinEntity = new CodeWupinEntity(); |
| | | // wupinEntity.setOid(null); |
| | | //// bo.setRevisionid((new ObjectUtility()).getNewObjectID36()); |
| | | //// bo.setNameoid((new ObjectUtility()).getNewObjectID36()); |
| | | // wupinEntity.setBtmname(btmName); |
| | | // wupinEntity.setLastR(String.valueOf(1)); |
| | | // wupinEntity.setFirstR(String.valueOf(1)); |
| | | // wupinEntity.setFirstV(String.valueOf(1)); |
| | | // wupinEntity.setLastV(String.valueOf(1)); |
| | | // wupinEntity.setCreator(userName); |
| | | // wupinEntity.setCreateTime(new Date()); |
| | | // wupinEntity.setLastModifier(userName); |
| | | // wupinEntity.setLastModifyTime(new Date()); |
| | | // wupinEntity.setRevisionRule(btmTypeVO.getRevisionruleid()); |
| | | // wupinEntity.setVersionRule(String.valueOf(btmTypeVO.getVersionRule())); |
| | | // if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){ |
| | | // //æä¸ªç¹ï¼éè¦é®åå¥çæ¬é®é¢ï¼å±ç¤ºé»è®¤ä¸º1 |
| | | //// OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid()); |
| | | // wupinEntity.setRevisionValue("1"); |
| | | // } |
| | | // |
| | | // wupinEntity.setRevisionSeq(1); |
| | | // wupinEntity.setVersionSeq(1); |
| | | // //æä¸ªç¹ï¼éè¦é®åå¥çæ¬é®é¢ï¼å±ç¤ºé»è®¤ä¸º1 |
| | | // wupinEntity.setVersionValue("1"); |
| | | // wupinEntity.setLctid("wupinLC"); |
| | | // wupinEntity.setLcStatus("Editing"); |
| | | // wupinEntity.setId(""); |
| | | // wupinEntity.setName(""); |
| | | // wupinEntity.setDescription(""); |
| | | // wupinEntity.setOwner(userName); |
| | | // wupinEntity.setCheckinby(userName); |
| | | // wupinEntity.setCopyFromVersion(""); |
| | | // wupinEntity.setMaterialtype((short) 1001); |
| | | // wupinEntity.setCaigouwl("true"); |
| | | // wupinEntity.setShifoupihaoguanli("true"); |
| | | // wupinEntity.setKucunwl("true"); |
| | | // wupinEntity.setXiaoshouwl("false"); |
| | | // wupinEntity.setPassing("true"); |
| | | // |
| | | //// this.initTypeAttributeValue(wupinEntity,btmTypeVO); |
| | | // return wupinEntity; |
| | | // |
| | | // |
| | | //// return cbo; |
| | | // } |
| | | |
| | | /** |
| | | * æ¯å¦ä¸ºä¿®æ¹å¿½ç¥ç屿§ |
| | | * @param attrName 屿§çåå |
| | | * @return true 表示åºè¯¥å¿½ç¥ |
| | | */ |
| | | boolean checkUnAttrUnEdit(String attrName){ |
| | | return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName) |
| | | ||"ts".equalsIgnoreCase(attrName) |
| | | || "lastmodifier".equalsIgnoreCase(attrName) |
| | | || "lastmodifytime".equalsIgnoreCase(attrName) |
| | | || "createtime".equalsIgnoreCase(attrName) |
| | | || "checkintime".equalsIgnoreCase(attrName) |
| | | ||"checkouttime".equalsIgnoreCase(attrName)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿åå¯è¾å¯éçä¿¡æ¯ |
| | | * |
| | | * @param templateVO 模æ¿ç对象 |
| | | * @param cboList æ°æ®çå
容 |
| | | */ |
| | | // @Override |
| | | // public void batchSaveSelectChar(CodeClstemplateVO templateVO, List<ClientBusinessObject> cboList) { |
| | | // if (templateVO != null && !CollectionUtils.isEmpty(cboList)) { |
| | | // //æ¯å¼æ¥çï¼æä»¥ç´æ¥å¾ªç¯ |
| | | // List<CodeClstempattrVO> selectAttrVOs = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getLibraryidentification())).collect(Collectors.toList()); |
| | | // |
| | | // if (!CollectionUtils.isEmpty(selectAttrVOs)) { |
| | | //// SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); |
| | | // selectAttrVOs.parallelStream().forEach(attrVO -> { |
| | | // List<String> valuesList = new CopyOnWriteArrayList<>(); |
| | | // cboList.parallelStream().forEach(cbo -> { |
| | | // String value = cbo.getAttributeValue(attrVO.getId()); |
| | | // if (StringUtils.isNotBlank(value)) { |
| | | // valuesList.add(value); |
| | | // } |
| | | // }); |
| | | // if (!CollectionUtils.isEmpty(valuesList)) { |
| | | // charService.saveBySameNamespaceAndFlag(templateVO.getBtmTypeId(), attrVO.getLibraryIdentification(), valuesList, sessionInfo); |
| | | // } |
| | | // }); |
| | | // } |
| | | // } |
| | | // } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.service.ICodeClassifyService; |
| | | import com.vci.ubcs.code.service.MdmEngineService; |
| | | import com.vci.ubcs.code.service.MdmIOService; |
| | | import com.vci.ubcs.code.vo.CodeClstempattrVO; |
| | | import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; |
| | | import com.vci.ubcs.starter.bo.WriteExcelData; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.poi.bo.ReadExcelOption; |
| | | import com.vci.ubcs.starter.poi.bo.SheetDataSet; |
| | | import com.vci.ubcs.starter.poi.bo.SheetRowData; |
| | | import com.vci.ubcs.starter.poi.bo.WriteExcelOption; |
| | | import com.vci.ubcs.starter.poi.util.ExcelUtil; |
| | | import com.vci.ubcs.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | import org.apache.poi.hssf.usermodel.HSSFRichTextString; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.apache.poi.hssf.util.HSSFColor; |
| | | import org.apache.poi.ss.usermodel.Font; |
| | | import org.apache.poi.ss.usermodel.RichTextString; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.File; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.alibaba.druid.util.FnvHash.Constants.LIMIT; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.CODE_FIELD; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_ATTR_LIST; |
| | | import static com.vci.ubcs.starter.poi.util.ExcelUtil.KEY_ATTR_CHAR; |
| | | import static com.vci.ubcs.starter.poi.util.ExcelUtil.REQUIRED_CHAR; |
| | | |
| | | @Service |
| | | public class MdmIOServiceImpl implements MdmIOService { |
| | | |
| | | |
| | | /** |
| | | * 主é¢åºåç±»çæå¡ |
| | | */ |
| | | @Resource |
| | | private ICodeClassifyService classifyService; |
| | | |
| | | /** |
| | | * 模æ¿çæå¡ |
| | | */ |
| | | @Resource |
| | | private CodeClstemplateServiceImpl templateService; |
| | | |
| | | /** |
| | | * ä¸»æ°æ®å¼æçæå¡ |
| | | */ |
| | | @Resource |
| | | private MdmEngineService engineService; |
| | | |
| | | /** |
| | | * çæå¯¼å
¥çæä»¶ |
| | | * |
| | | * @param codeClassifyOid åç±»çä¸»é® |
| | | * @param isHistory æ¯å¦å岿°æ®å¯¼å
¥ |
| | | * @return excelçæä»¶å°å |
| | | */ |
| | | @Override |
| | | public String createImportExcel(String codeClassifyOid, boolean isHistory) { |
| | | List<CodeClstemplateVO> templateVOList=new ArrayList<>(); |
| | | |
| | | VciBaseUtil.alertNotNull("å¯¼åºæ¨¡æ¿","导åºçé
ç½®",codeClassifyOid,"主é¢åºåç±»ç主é®"); |
| | | |
| | | CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); |
| | | |
| | | if(isHistory){ |
| | | templateVOList= templateService.childTemplates(codeClassifyOid); |
| | | }else{ |
| | | //æ¾æ¨¡æ¿ |
| | | CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); |
| | | templateVOList.add(templateVO); |
| | | } |
| | | |
| | | WriteExcelOption eo = new WriteExcelOption(); |
| | | eo.setAppend(true); |
| | | //å¢å 模æ¿çä¿¡æ¯å¯¼å
¥ |
| | | LinkedList<WriteExcelData> tempEDList = new LinkedList<>(); |
| | | tempEDList.add(new WriteExcelData(0,0,"模æ¿ä¸»é®")); |
| | | tempEDList.add(new WriteExcelData(0,1,"模æ¿ä»£å·")); |
| | | tempEDList.add(new WriteExcelData(0,2,"模æ¿åç§°")); |
| | | for(int j=0;j<templateVOList.size();j++){ |
| | | CodeClstemplateVO templateVO=templateVOList.get(j); |
| | | |
| | | //ç»åæ ¼å¼çä¸å¯¼å
¥ï¼ |
| | | // æä¸¾çæä¾åºåçéæ© |
| | | //æ¶é´å
¨é¨ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss |
| | | //åç
§çèªè¡è¾å
¥åç§° |
| | | //å类注å
¥çä¸ç¨ï¼é½æ¯å¯¼å
¥åèªå¨å¤çç |
| | | //ç¼ç ï¼ç¶æçåæ®µä¸å¯¼å
¥ |
| | | List<CodeClstempattrVO> templateAttrVOS = templateVO.getAttributes().stream().filter(s -> |
| | | !DEFAULT_ATTR_LIST.contains(s.getId()) |
| | | && StringUtils.isBlank(s.getComponentrule()) |
| | | && StringUtils.isBlank(s.getClassifyinvokeattr()) |
| | | && (isHistory || VciBaseUtil.getBoolean(s.getFormdisplayflag())) |
| | | ).collect(Collectors.toList()); |
| | | |
| | | if(CollectionUtils.isEmpty(templateAttrVOS)){ |
| | | throw new VciBaseException("æ¨¡æ¿æ²¡æé
置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); |
| | | } |
| | | List<CodeClstempattrVO> idAttrVOList = templateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList()); |
| | | LinkedList<WriteExcelData> excelDataList = new LinkedList<>(); |
| | | Workbook workbook = new HSSFWorkbook(); |
| | | if(isHistory){ |
| | | excelDataList.add(new WriteExcelData(0,0,"å类路å¾")); |
| | | excelDataList.add(new WriteExcelData(0,1,"ç æ®µå®½åº¦")); |
| | | excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"ä¼ä¸ç¼ç ")); |
| | | } |
| | | for (int i = 0; i < templateAttrVOS.size(); i++) { |
| | | CodeClstempattrVO attrVO = templateAttrVOS.get(i); |
| | | |
| | | Object text = attrVO.getName(); |
| | | text = exportKeyAndRequired(workbook,attrVO,text); |
| | | int colIndex = (isHistory?3:0) + i; |
| | | WriteExcelData excelData = new WriteExcelData(0, colIndex, text); |
| | | if(StringUtils.isNotBlank(attrVO.getCodedateformat()) |
| | | || VciFieldTypeEnum.VTDateTime.name().equalsIgnoreCase(attrVO.getAttributedatatype()) |
| | | || VciFieldTypeEnum.VTDate.name().equalsIgnoreCase(attrVO.getAttributedatatype()) |
| | | ||VciFieldTypeEnum.VTTime.name().equalsIgnoreCase(attrVO.getAttributedatatype())){ |
| | | excelData.setDateFormat(VciDateUtil.DateTimeFormat); |
| | | } |
| | | if(text instanceof RichTextString){ |
| | | excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); |
| | | } |
| | | excelDataList.add(excelData); |
| | | if(StringUtils.isNotBlank(attrVO.getEnumstring()) || StringUtils.isNotBlank(attrVO.getEnumid())){ |
| | | //æ·»å æ°æ®æææ§ |
| | | List<String> enumValueList = new ArrayList<>(); |
| | | enumValueList.add(""); |
| | | List<KeyValue> valueList = engineService.listComboboxItems(attrVO); |
| | | if(!CollectionUtils.isEmpty(valueList)){ |
| | | valueList.stream().forEach(kv->{ |
| | | enumValueList.add(kv.getValue()); |
| | | }); |
| | | } |
| | | //é»è®¤å 1䏿¡ |
| | | WriteExcelData ed = new WriteExcelData(1,colIndex,""); |
| | | ed.setRowTo(100); |
| | | ed.setColTo(colIndex); |
| | | ed.setValidation(true); |
| | | ed.setValidationDataList(enumValueList); |
| | | ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); |
| | | excelDataList.add(ed); |
| | | } |
| | | if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributedatatype())){ |
| | | List<String> booleanList = new ArrayList<>(); |
| | | |
| | | booleanList.add("æ¯"); |
| | | booleanList.add("å¦"); |
| | | //é»è®¤å 1䏿¡ |
| | | WriteExcelData ed = new WriteExcelData(1,colIndex,""); |
| | | ed.setRowTo(100); |
| | | ed.setColTo(colIndex); |
| | | ed.setValidation(true); |
| | | ed.setValidationDataList(booleanList); |
| | | ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); |
| | | excelDataList.add(ed); |
| | | } |
| | | } |
| | | eo.addSheetDataList(j+templateVO.getName(),excelDataList); |
| | | tempEDList.add(new WriteExcelData(j+1,0,templateVO.getOid())); |
| | | tempEDList.add(new WriteExcelData(j+1,1,templateVO.getId())); |
| | | tempEDList.add(new WriteExcelData(j+1,2,templateVO.getName())); |
| | | } |
| | | String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + codeClassifyVO.getName() + (isHistory?"_å岿°æ®å¯¼å
¥æ¨¡æ¿.xls": "_导å
¥æ¨¡æ¿.xls"); |
| | | eo.addSheetDataList(templateVOList.size()+"模æ¿ä¿¡æ¯ã请å¿å é¤æç§»å¨ã",tempEDList); |
| | | ExcelUtil.writeDataToFile(excelName,eo); |
| | | return excelName; |
| | | } |
| | | |
| | | /** |
| | | * 导åºçæ¶åå°è£
å¿
è¾åå
³é®å±æ§ |
| | | * @param attrVO 屿§çæ¾ç¤ºå¯¹è±¡ |
| | | * @param text åå
æ ¼çå¼ |
| | | */ |
| | | private Object exportKeyAndRequired(Workbook workbook,CodeClstempattrVO attrVO,Object text){ |
| | | //å¿
è¾å *ï¼å
³é®å±æ§ä¸ºèè² |
| | | if (VciBaseUtil.getBoolean(attrVO.getRequireflag()) || VciBaseUtil.getBoolean(attrVO.getKeyattrflag())) { |
| | | String value = text.toString(); |
| | | if(VciBaseUtil.getBoolean(attrVO.getRequireflag())) { |
| | | value += REQUIRED_CHAR; |
| | | } |
| | | if(VciBaseUtil.getBoolean(attrVO.getKeyattrflag())){ |
| | | value += KEY_ATTR_CHAR; |
| | | } |
| | | RichTextString ts = new HSSFRichTextString(value); |
| | | if(VciBaseUtil.getBoolean(attrVO.getRequireflag())){ |
| | | Font font = workbook.createFont(); |
| | | font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); |
| | | ts.applyFont(font); |
| | | } |
| | | |
| | | if(VciBaseUtil.getBoolean(attrVO.getKeyattrflag())){ |
| | | Font font = workbook.createFont(); |
| | | font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); |
| | | ts.applyFont(font); |
| | | } |
| | | return ts; |
| | | } |
| | | return text; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¹éç³è¯·ç¼ç æ°æ® |
| | | * |
| | | * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿
é¡»å
å«å类主é®åç æ®µçä¿¡æ¯ |
| | | * @param file excelæä»¶çä¿¡æ¯ |
| | | * @return æé误信æ¯çexcelçæä»¶ |
| | | */ |
| | | @Override |
| | | public CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file) { |
| | | VciBaseUtil.alertNotNull(orderDTO,"ç¼ç ç³è¯·ç¸å
³çæ°æ®",orderDTO.getCodeClassifyOid(),"主é¢åºå类主é®"); |
| | | ReadExcelOption reo = new ReadExcelOption(); |
| | | reo.setReadAllSheet(true); |
| | | List<SheetDataSet> sheetDataSetList = ExcelUtil.readDataObjectFromExcel(file,null,reo); |
| | | if(CollectionUtils.isEmpty(sheetDataSetList) || CollectionUtils.isEmpty(sheetDataSetList.get(0).getRowData()) |
| | | ||sheetDataSetList.get(0).getRowData().size()<1){ |
| | | throw new VciBaseException("没æè¯»åå°ä»»ä½çæ°æ®"); |
| | | } |
| | | if(sheetDataSetList.size()>LIMIT+1){ |
| | | throw new VciBaseException("为äºä¿è¯ç³»ç»çç¨³å®æ§ï¼è¯·ä¸æ¬¡ä¸è¦å¯¼å
¥è¶
è¿1䏿¡çæ°æ®"); |
| | | } |
| | | //å
æ¾å°æ¯ä¸è¡çæ é¢ï¼ç¶åæ ¹æ®æ 颿¥è·å对åºç屿§ |
| | | SheetDataSet dataSet = sheetDataSetList.get(0); |
| | | //æ¾ç¬¬ä¸è¡ï¼ä¸ºäºæ¾æ é¢ |
| | | CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); |
| | | |
| | | //æ ¡éªæ¨¡æ¿æ¯ä¸æ¯ææ°ç |
| | | checkTemplateSync(sheetDataSetList,templateVO,0); |
| | | //å
ä¸ç¨ç®¡å±æ§æ¯å¦é½åå¨ï¼å
转æ¢ä¸ä¸æ°æ® |
| | | Map<String,String> errorMap = new HashMap<>(); |
| | | String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true); |
| | | CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); |
| | | List<String> needRowIndexList = new ArrayList<>(); |
| | | // String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); |
| | | // if(StringUtils.isNotBlank(filePath)) { |
| | | // codeImProtRusultVO.setFilePath(filePath); |
| | | // } |
| | | // if(StringUtils.isNotBlank(redisUUid)){ |
| | | // codeImProtRusultVO.setRedisUuid(redisUUid); |
| | | // } |
| | | return null; |
| | | // return codeImProtRusultVO; |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªæ¨¡æ¿æ¯å¦ä¸ºåæ¥ç |
| | | * @param sheetDataSetList exceléçå
容 |
| | | * @param templateVO 模æ¿çä¿¡æ¯ |
| | | */ |
| | | private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClstemplateVO templateVO,int i){ |
| | | String templateOidInExcel = ""; |
| | | String templateName=""; |
| | | if(!CollectionUtils.isEmpty(sheetDataSetList) |
| | | && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ |
| | | List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); |
| | | templateName=rowData.get(i).getData().get(2); |
| | | templateOidInExcel=rowData.get(i).getData().get(0); |
| | | //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); |
| | | } |
| | | /* if(!CollectionUtils.isEmpty(sheetDataSetList) |
| | | && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ |
| | | List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); |
| | | templateOidInExcel=rowData.get(i).getData().get(0); |
| | | //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); |
| | | }*/ |
| | | if(StringUtils.isBlank(templateOidInExcel) || !templateOidInExcel.equalsIgnoreCase(templateVO.getOid())){ |
| | | throw new VciBaseException("模æ¿ã"+templateName+"ãä¸çæ°æ®è·åçæ¨¡çä¿¡æ¯ä¸å½å模æ¿ä¸å¹é
ï¼è¯·ç¡®ä¿excelæä»¶éæã模æ¿ä¿¡æ¯-请å¿ç§»å¨æå é¤ãçå·¥ä½è¡¨ï¼ä¸ç¡®ä¿æ¯æ¬¡å¯¼å
¥é½æ¯å
ä¸è½½ç导å
¥æ¨¡æ¿åæ·»å çæ°æ®"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * æ¹éå¤çç³è¯·æ°æ® |
| | | * @param orderDTO |
| | | * @param templateVO |
| | | * @param dataSet |
| | | * @return |
| | | */ |
| | | private String batchImportCodes(CodeOrderDTO orderDTO,CodeClstemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ |
| | | List<String> codeList=new ArrayList<>(); |
| | | // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); |
| | | //è§åç主é®éè¦å»è·å |
| | | // CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); |
| | | // //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå
¶ä»ç 段 |
| | | // engineService.checkSecValueOnOrder(ruleVO,orderDTO); |
| | | // List<SheetRowData> rowDataList = dataSet.getRowData(); |
| | | // |
| | | // //é¤å»é»è®¤ç屿§.è¿æåªæè¡¨åæ¾ç¤ºçåæ®µæå¯¼å
¥ |
| | | // List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> |
| | | // !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormdisplayflag()) |
| | | // ).collect(Collectors.toList()); |
| | | // Map<Integer/**åå·**/,String/**åæ®µçåç§°**/> fieldIndexMap = new HashMap<>(); |
| | | // List<String> titleRowData = dataSet.getColName(); |
| | | // Map<String/**䏿åç§°**/, String/**è±æåç§°**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT),(o1, o2)->o2)); |
| | | // getFieldIndexMap(titleRowData,attrNameIdMap,fieldIndexMap); |
| | | // |
| | | // //éè¦å¤ææ¯å¦ææç屿§é½å¨æ¨¡æ¿ä¸äº |
| | | // List<CodeClassifyTemplateAttrVO> unExistAttrVOs = attrVOS.stream().filter(s -> !fieldIndexMap.containsValue(s.getId().toLowerCase(Locale.ROOT)) |
| | | // && StringUtils.isBlank(s.getComponentrule()) && StringUtils.isBlank(s.getClassifyinvokeattr())//ç»åè§ååå类注å
¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» |
| | | // ).collect(Collectors.toList()); |
| | | // if(!CollectionUtils.isEmpty(unExistAttrVOs)){ |
| | | // throw new VciBaseException("ã" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "ãè¿äºå±æ§å¨åè¡¨ä¸æ²¡ææ¾å°"); |
| | | // } |
| | | // List<ClientBusinessObject> cboList = new ArrayList<>(); |
| | | // String fullPath = getFullPath(classifyFullInfo); |
| | | // excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList,templateVO,cboList,fullPath,true); |
| | | // |
| | | // //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ |
| | | // //妿åºéäºï¼æä»¬ä¾ç¶æ§è¡ææçæ°æ®ï¼æ æçæ°æ®ååå°excelä¸ |
| | | // //2.夿å¿
è¾é¡¹ããéè¦å
¨é¨ç屿§ï¼å¦ææ¯å¿
è¾ï¼ä½æ¯è¡¨åéé¢ä¸æ¾ç¤ºçï¼åªè½æ¯å类注å
¥æè
ç»åè§å |
| | | // batchCheckRequiredAttrOnOrder(templateVO,cboList,errorMap); |
| | | // //3.夿å
³é®å±æ§ |
| | | // CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList); |
| | | // Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList(); |
| | | // Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList(); |
| | | // if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){ |
| | | // selfRepeatRowIndexList.stream().forEach(rowIndex->{ |
| | | // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å¨å½åå¤ççæ°æ®æä»¶ä¸å
³é®å±æ§éå¤" ); |
| | | // }); |
| | | // } |
| | | // if(!CollectionUtils.isEmpty(keyAttrRepeatRowIndexList)){ |
| | | // keyAttrRepeatRowIndexList.stream().forEach(rowIndex->{ |
| | | // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å
³é®å±æ§ä¸ç³»ç»ä¸çéå¤" ); |
| | | // }); |
| | | // } |
| | | // //å类注å
¥ |
| | | // batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,false); |
| | | // //boolean |
| | | // reSwitchBooleanAttrOnOrder(attrVOS,cboList); |
| | | // //4.æ ¡éªè§å |
| | | // batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); |
| | | // if(isEnumType) {//æ¯å¦éè¦æ ¡éªæä¸¾/åç
§ |
| | | // //5.æ ¡éªæä¸¾æ¯å¦æ£ç¡® |
| | | // batchSwitchEnumAttrOnOrder(attrVOS, cboList, errorMap); |
| | | // //7.å¤çåç
§çæ
åµ |
| | | // batchSwitchReferAttrOnOrder(attrVOS,cboList,errorMap); |
| | | // } |
| | | // //6.æ¶é´æ ¼å¼çéªè¯ |
| | | // //6.æ¶é´çï¼å¿
é¡»ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss |
| | | // batchSwitchDateAttrOnOrder(attrVOS,cboList,errorMap); |
| | | // //æåå¼ç»åè§å |
| | | // batchSwitchComponentAttrOnOrder(attrVOS,cboList); |
| | | // String uuid=redisService.getUUIDEveryDay(); |
| | | // Map<String, ClientBusinessObject> rowIndexCboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getAttributeValue((IMPORT_ROW_INDEX)), t -> t)); |
| | | // |
| | | // if(errorMap.size()>0) { |
| | | // createRedisDatas(uuid + "-error",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, errorMap,false); |
| | | // } |
| | | // boolean isCreateUUid=false; |
| | | // List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { |
| | | // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | // return !errorMap.containsKey(rowIndex); |
| | | // }).collect(Collectors.toList()); |
| | | // //ç¸ä¼¼æ ¡éª |
| | | // Map<String,String>resembleMap=new HashMap<>(); |
| | | // List<DataResembleVO> dataResembleVOS=new ArrayList<>(); |
| | | // String btmtypeid= classifyFullInfo.getTopClassifyVO().getBtmtypeid(); |
| | | // bathcResembleQuery(orderDTO.getCodeClassifyOid(),templateVO,needSaveCboList,resembleMap,btmtypeid,dataResembleVOS); |
| | | // if(resembleMap.size()>0) { |
| | | // isCreateUUid=true; |
| | | // if(!CollectionUtils.isEmpty(dataResembleVOS)) { |
| | | // redisService.setCacheList(uuid + "-resemble-data", dataResembleVOS); |
| | | // createRedisDatas(uuid + "-resemble",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, resembleMap, false); |
| | | // } |
| | | // } |
| | | // //æé¤é误çï¼å©ä¸æ£ç¡®ç |
| | | // Map<String,String> newErrorMap=new HashMap<>(); |
| | | // newErrorMap.putAll(resembleMap); |
| | | // newErrorMap.putAll(errorMap); |
| | | // needSaveCboList = cboList.stream().filter(cbo -> { |
| | | // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | // return !newErrorMap.containsKey(rowIndex); |
| | | // }).collect(Collectors.toList()); |
| | | // if((errorMap.size()>0&&needSaveCboList.size()>0)||resembleMap.size()>0){ |
| | | // isCreateUUid=true; |
| | | // } |
| | | // createRedisByCodeClassify(uuid + "-class",templateVO,dataSet,fieldIndexMap,false); |
| | | // if(newErrorMap.size()>0) { |
| | | // createRedisDatas(uuid + "-ok",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap,true); |
| | | // }else { |
| | | // uuid=""; |
| | | // //è¦æä»¥ä¸çé误ç齿åºåï¼åç»§ç»å¤çæ¶é´åç»åè§å |
| | | // needSaveCboList = cboList.stream().filter(cbo -> { |
| | | // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); |
| | | // return !newErrorMap.containsKey(rowIndex); |
| | | // }).collect(Collectors.toList()); |
| | | // if (!CollectionUtils.isEmpty(needSaveCboList)) { |
| | | // //9.æä»¬å¤çä¸å¡æ°æ® |
| | | // //çæç¼ç çå
容 |
| | | // codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), needSaveCboList); |
| | | // //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å
¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ |
| | | // engineService.batchSaveSelectChar(templateVO, needSaveCboList); |
| | | // } |
| | | // } |
| | | // if(!isCreateUUid){ |
| | | // return uuid=""; |
| | | // } |
| | | // return uuid; |
| | | return null; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.CodeAllCode; |
| | | import com.vci.ubcs.code.entity.CodeSerialValue; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.enumpack.CodeCutTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.mapper.CodeAllCodeMapper; |
| | | import com.vci.ubcs.code.mapper.CodeSerialValueMapper; |
| | | import com.vci.ubcs.code.service.ICodeWupinService; |
| | | import com.vci.ubcs.code.service.MdmProductCodeService; |
| | | import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.ubcs.starter.web.constant.RegExpConstant; |
| | | import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.*; |
| | | @Service |
| | | public class MdmProductCodeServiceImpl implements MdmProductCodeService { |
| | | |
| | | /** |
| | | * æµæ°´å·çç¸å
³çä¿¡æ¯ |
| | | */ |
| | | @Resource |
| | | private CodeSerialValueMapper serialValueMapper; |
| | | |
| | | /** |
| | | * ææçç¼ç çå
容 |
| | | */ |
| | | @Resource |
| | | private CodeAllCodeServiceImpl codeAllCodeService; |
| | | |
| | | /** |
| | | * ææçç¼ç çå
容 |
| | | */ |
| | | @Resource |
| | | private ICodeWupinService iCodeWupinService; |
| | | |
| | | @Override |
| | | public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClstemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList) { |
| | | // BatchCBO batchCBO = new BatchCBO(); |
| | | // WebUtil.setPersistence(false); |
| | | // dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList()); |
| | | // batchCBO.getCreateCbos().addAll(dataCBOList); |
| | | List<String> codeList = new ArrayList<>(); |
| | | |
| | | /***** |
| | | * ä¿è¯å¹¶åçæ¶åï¼æå¤§æµæ°´å·é½å¯¹çï¼ä½æ¯è¿ç§å éæå¼ç«¯ |
| | | * |
| | | */ |
| | | |
| | | if(dataCBOList.stream().anyMatch(cbo-> StringUtils.isNotBlank(cbo.getId())) |
| | | // && StringUtils.isNotBlank(cbo.getAttributeValue(CODE_SEC_LENGTH_FIELD)) |
| | | ){ |
| | | //æ¯å岿°æ®å¯¼å
¥ |
| | | //å岿°æ®æ§è¡çæ¶åï¼è¿ä¸ªç³»ç»ä¼å¾å¡ |
| | | //ä¸»è¦æ¯ä¸ºäºå½å
¥æå¤§æµæ°´å·åallcode |
| | | // SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); |
| | | List<CodeAllCode> allCodeDOList = new ArrayList<>(); |
| | | Map<String/**æµæ°´ä¾æ®**/, Map<String/**ç æ®µç主é®**/,Double/**æå¤§æµæ°´å·**/>> maxSerialMap = new HashMap<>(); |
| | | dataCBOList.parallelStream().forEach(cbo->{ |
| | | // VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); |
| | | String code = cbo.getId(); |
| | | List<String> serialUnitList = new ArrayList<>(); |
| | | String[] secLengths = cbo.getCodeSecLengthField().split("#"); |
| | | List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList()); |
| | | Map<String/**ç æ®µç主é®**/,String/**ç æ®µçå¼**/> serialValueMap = new HashMap<>(); |
| | | Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); |
| | | for (int i = 0; i < secLengths.length; i++) { |
| | | CodeBasicSecVO secVO = secVOList.get(i); |
| | | String thisSecValue = ""; |
| | | if(i == 0){ |
| | | thisSecValue = code.contains("#")?code.substring(0,code.indexOf("#")):code; |
| | | } else if(i == secLengths.length-1){ |
| | | //æå |
| | | thisSecValue = code.contains("#")?code.substring(code.lastIndexOf("#")):code; |
| | | }else { |
| | | int start = 0; |
| | | for (int j = 0; j < i; j++) { |
| | | start += VciBaseUtil.getInt(secLengths[j]) + 1; |
| | | } |
| | | thisSecValue = code.substring(start,start+VciBaseUtil.getInt(secLengths[1])); |
| | | } |
| | | if(VciBaseUtil.getBoolean(secVO.getSerialDependFlag())){ |
| | | serialUnitList.add(thisSecValue); |
| | | } |
| | | if(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue().equalsIgnoreCase(secVO.getSecType())){ |
| | | serialValueMap.put(secVO.getOid(),thisSecValue); |
| | | } |
| | | } |
| | | String serialUnitString = serialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : serialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); |
| | | List<String> serialUnFileStringList = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(serialValueMap)){ |
| | | serialValueMap.forEach((secOid,secValue)->{ |
| | | //è¦çæ¯ä¸æ¯è¡¥ä½ç |
| | | CodeBasicSecVO secVO = secVOMap.get(secOid); |
| | | Double serialDb = null; |
| | | if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){ |
| | | //ä¸è¡¥ç |
| | | //æææä¸æ¯æ°åç廿ï¼å 为å¯è½ä¼æ¯èæ°æ®ï¼æ°è§å |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(secValue)); |
| | | }else { |
| | | //å·¦å³å¡«å
çï¼æä»¬éè¦ |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(secValue,secVO.getCodeFillSeparator(), |
| | | OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType())))); |
| | | } |
| | | Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>()); |
| | | thisUnitMaxMap.put(secOid,serialDb); |
| | | maxSerialMap.put(serialUnitString,thisUnitMaxMap); |
| | | serialUnFileStringList.add(String.valueOf(serialDb)); |
| | | }); |
| | | } |
| | | CodeAllCode allCodeDO = new CodeAllCode(); |
| | | allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); |
| | | allCodeDO.setCodeRuleOid(ruleVO.getOid()); |
| | | allCodeDO.setId(cbo.getId()); |
| | | allCodeDO.setCodeClassifyTemplateOid(templateVO.getOid()); |
| | | allCodeDO.setCreateCodeBtm(cbo.getBtmname()); |
| | | allCodeDO.setCreateCodeOid(cbo.getOid()); |
| | | allCodeDO.setSerialUnit(serialUnitString); |
| | | allCodeDO.setUnFillSerial(serialUnFileStringList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE))); |
| | | allCodeDO.setLcStatus(cbo.getLcStatus()); |
| | | allCodeDOList.add(allCodeDO); |
| | | }); |
| | | //å¤çæå¤§çæµæ°´å· |
| | | List<CodeSerialValue> addSerialValueList = new ArrayList<>(); |
| | | List<CodeSerialValue> editSerialValueList = new ArrayList<>(); |
| | | maxSerialMap.forEach((serialUnit,secOidMaxMap)->{ |
| | | secOidMaxMap.forEach((secOid,maxSerial)->{ |
| | | // Map<String, String> conditionMap = new HashMap<>(); |
| | | // conditionMap.put("codeRuleOid", ruleVO.getOid()); |
| | | // conditionMap.put("serialUnit", serialUnit); |
| | | // //è¿ä¸ªå段æ¯ä¸ºäºè§£å³å¤ä¸ªæµæ°´çé®é¢ |
| | | // conditionMap.put("codeSecOid", secOid); |
| | | QueryWrapper<CodeSerialValue> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("codeRuleOid", ruleVO.getOid()); |
| | | queryWrapper.eq("serialUnit", serialUnit); |
| | | queryWrapper.eq("codeSecOid", secOid); |
| | | |
| | | List<CodeSerialValue> serialValueDOS = serialValueMapper.selectList(queryWrapper); |
| | | // .selectByCondition(conditionMap, new PageHelper(-1)); |
| | | if (!CollectionUtils.isEmpty(serialValueDOS)) { |
| | | CodeSerialValue serialValueDO = serialValueDOS.get(0); |
| | | if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<maxSerial){ |
| | | serialValueDO.setMaxSerial(String.valueOf(maxSerial)); |
| | | editSerialValueList.add(serialValueDO); |
| | | } |
| | | }else{ |
| | | //没æ |
| | | CodeSerialValue serialValueDO = new CodeSerialValue(); |
| | | serialValueDO.setCodeRuleOid(ruleVO.getOid()); |
| | | serialValueDO.setSerialUnit(serialUnit); |
| | | serialValueDO.setCodeSecOid(secOid); |
| | | serialValueDO.setMaxSerial(maxSerial.toString()); |
| | | addSerialValueList.add(serialValueDO); |
| | | } |
| | | }); |
| | | }); |
| | | if(!CollectionUtils.isEmpty(addSerialValueList)){ |
| | | // batchCBO.copyFromOther(serialValueMapper.batchInsert(addSerialValueList)); |
| | | for (CodeSerialValue codeSerialValue : addSerialValueList) { |
| | | serialValueMapper.insert(codeSerialValue); |
| | | } |
| | | // serialValueMapper.ba |
| | | |
| | | } |
| | | if(!CollectionUtils.isEmpty(editSerialValueList)){ |
| | | for (CodeSerialValue codeSerialValue : editSerialValueList) { |
| | | serialValueMapper.updateById(codeSerialValue); |
| | | } |
| | | |
| | | // batchCBO.copyFromOther(serialValueMapper.batchUpdate(editSerialValueList)); |
| | | } |
| | | //å¤çallCode |
| | | if(!CollectionUtils.isEmpty(allCodeDOList)){ |
| | | Map<String, List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid())); |
| | | Map<String, CodeAllCode> codeDOMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getCodeRuleOid() + "${SEP}" + s.getId(), t -> t)); |
| | | List<CodeAllCode> addCodeDOs = new ArrayList<>(); |
| | | List<CodeAllCode> editCodeDOs = new ArrayList<>(); |
| | | ruleGroup.forEach((ruleOid,allCodeDOS)->{ |
| | | VciBaseUtil.switchCollectionForOracleIn(allCodeDOS).stream().forEach(codeDOs->{ |
| | | // Map<String,String> conditionMap = new HashMap<>(); |
| | | // conditionMap.put("coderuleoid",ruleOid); |
| | | // conditionMap.put("id",QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDOs.stream().map(s->s.getId()).collect(Collectors.toList()).toArray(new String[0])) + ")"); |
| | | QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); |
| | | allCodeWrapper.eq("coderuleoid",ruleOid); |
| | | allCodeWrapper.in("id", QueryOptionConstant.IN + "(" + |
| | | VciBaseUtil.toInSql(codeDOs.stream().map(s->s.getId()).collect(Collectors.toList()).toArray(new String[0])) + ")"); |
| | | List<CodeAllCode> existCodes = codeAllCodeService.selectByWrapper(allCodeWrapper); |
| | | |
| | | |
| | | if(!CollectionUtils.isEmpty(existCodes)){ |
| | | existCodes.stream().forEach(existCode->{ |
| | | String rule_id = existCode.getCodeRuleOid() + "${SEP}" + existCode.getId(); |
| | | if(codeDOMap.containsKey(rule_id)){ |
| | | CodeAllCode newCodeDO = codeDOMap.get(rule_id); |
| | | existCode.setCreateCodeOid(newCodeDO.getOid()); |
| | | existCode.setCreateCodeBtm(newCodeDO.getCreateCodeBtm()); |
| | | existCode.setCodeClassifyTemplateOid(newCodeDO.getCodeClassifyTemplateOid()); |
| | | existCode.setCodeClassifyOid(newCodeDO.getCodeClassifyOid()); |
| | | existCode.setLcStatus(newCodeDO.getLcStatus()); |
| | | editCodeDOs.add(existCode); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | if(!CollectionUtils.isEmpty(editCodeDOs)){ |
| | | Set<String> exitIds = editCodeDOs.stream().map(s -> s.getCodeRuleOid() + "${SEP}" + s.getId()).collect(Collectors.toSet()); |
| | | addCodeDOs = allCodeDOList.stream().filter(s -> !exitIds.contains(s.getCodeRuleOid() + "${SEP}" + s.getId())).collect(Collectors.toList()); |
| | | }else{ |
| | | addCodeDOs = allCodeDOList; |
| | | } |
| | | if(!CollectionUtils.isEmpty(editCodeDOs)){ |
| | | // batchCBO.copyFromOther(allCodeMapper.batchUpdate(editCodeDOs)); |
| | | codeAllCodeService.updateBatchById(editCodeDOs); |
| | | } |
| | | if(!CollectionUtils.isEmpty(addCodeDOs)){ |
| | | // batchCBO.copyFromOther(allCodeMapper.batchInsert(addCodeDOs)); |
| | | Map<String, String> statusMap = addCodeDOs.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); |
| | | addCodeDOs.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { |
| | | s.setLcStatus(statusMap.get(s.getOid())); |
| | | }); |
| | | codeAllCodeService.saveBatch(addCodeDOs); |
| | | } |
| | | } |
| | | // WebUtil.setPersistence(true); |
| | | // boService.persistenceBatch(batchCBO); |
| | | return codeList; |
| | | }else { |
| | | List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList()); |
| | | List<String> serialUnitList = new LinkedList<>(); |
| | | List<String> secValueList = new ArrayList<>(); |
| | | Map<String, String> secValueMap = secDTOList.stream().collect(Collectors.toMap(s -> s.getSecOid(), s -> s.getSecValue())); |
| | | List<CodeBasicSecVO> serialSecVOList = new ArrayList<>(); |
| | | List<CodeBasicSecVO> attrSecVOList = new ArrayList<>(); |
| | | for (int i = 0; i < secVOList.size(); i++) { |
| | | CodeBasicSecVO secVO = secVOList.get(i); |
| | | switchSecValue(secVO, secValueMap, classifyFullInfoBO, serialSecVOList, attrSecVOList, serialUnitList, secValueList); |
| | | } |
| | | //å¤ç屿§ç æ®µåæµæ°´ç æ®µ |
| | | Map<String/**æµæ°´ç 段ç主é®**/, Map<String/**æµæ°´ä¾æ®**/, Double>> lastMaxSerialValueMap = new HashMap<>(); |
| | | List<CodeAllCode> allCodeDOList = new ArrayList<>(); |
| | | |
| | | //å·²ç»åå¨çæå¤§æµæ°´å·çå
容 |
| | | Map<String/**ç æ®µç主é®**/, Map<String, CodeSerialValue>> maxSerialValueMap = new HashMap<>(); |
| | | |
| | | for (int i = 0; i < dataCBOList.size(); i++) { |
| | | CodeWupinEntity cbo = dataCBOList.get(i); |
| | | List<String> thisSecValueList = new LinkedList<>(); |
| | | for (int j = 0; j < secValueList.size(); j++) { |
| | | thisSecValueList.add(secValueList.get(j)); |
| | | } |
| | | List<String> thisSerialUnitList = new LinkedList<>(); |
| | | //å ä¸ºæµæ°´ä¾æ®æ¯æ¬¡å¯è½ä¸ä¸æ ·ï¼æä»¥æ¯æ¬¡é½æ·è´ä¸ä»½ |
| | | for (int j = 0; j < serialUnitList.size(); j++) { |
| | | thisSerialUnitList.add(serialUnitList.get(j)); |
| | | } |
| | | //å
ççææ²¡æå±æ§çç æ®µ |
| | | boolean attrSevIsSerialDepend = CollectionUtils.isEmpty(attrSecVOList) ? false : (attrSecVOList.stream().anyMatch(s -> VciBaseUtil.getBoolean(s.getSerialDependFlag()))); |
| | | switchAttrSecValue(attrSecVOList, cbo, thisSecValueList, attrSevIsSerialDepend, thisSerialUnitList); |
| | | |
| | | String serialUnitString = thisSerialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : thisSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); |
| | | switchSerialSecValue(serialSecVOList, attrSevIsSerialDepend, ruleVO, serialUnitString, maxSerialValueMap, thisSecValueList, lastMaxSerialValueMap, i == 0); |
| | | |
| | | //ç»è£
ç¼ç çå¼ |
| | | cbo.setId(thisSecValueList.stream().collect(Collectors.joining())); |
| | | codeList.add(cbo.getId()); |
| | | StringBuilder sb = new StringBuilder(); |
| | | //æç 段éé¢é½æ¾ä¸ä¸æµæ°´å· |
| | | for (int j = 0; j < serialSecVOList.size(); j++) { |
| | | CodeBasicSecVO secVO = serialSecVOList.get(j); |
| | | Double serialValue = lastMaxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>()).getOrDefault(serialUnitString, 0d); |
| | | if (serialValue != null) { |
| | | sb.append(String.valueOf(serialValue.longValue())).append(SERIAL_VALUE_SPACE); |
| | | } |
| | | } |
| | | //è¦å卿åçå
¨é¨allcode |
| | | wrapperAllCode(classifyFullInfoBO, ruleVO, cbo, templateVO, allCodeDOList, serialUnitString, sb.toString()); |
| | | } |
| | | saveSerialValue( ruleVO, lastMaxSerialValueMap, maxSerialValueMap); |
| | | |
| | | Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); |
| | | allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { |
| | | s.setLcStatus(statusMap.get(s.getOid())); |
| | | |
| | | }); |
| | | codeAllCodeService.saveBatch(allCodeDOList); |
| | | iCodeWupinService.saveBatch(dataCBOList); |
| | | // batchCBO.getCreateCbos().stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmName())).forEach(s -> { |
| | | // s.setLcStatus(statusMap.get(s.getOid())); |
| | | // try { |
| | | // s.setAttributeValue("lcstatus",statusMap.get(s.getOid())); |
| | | // } catch (VCIError e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // }); |
| | | } |
| | | // WebUtil.setPersistence(true); |
| | | // boService.persistenceBatch(batchCBO); |
| | | return codeList; |
| | | } |
| | | /** |
| | | * 转æ¢å±æ§ç 段çå¼ |
| | | * @param attrSecVOList 屿§ç æ®µçæ¾ç¤ºå¯¹è±¡ |
| | | * @param cbo ä¸å¡æ°æ®ï¼ç¨äºè·åç æ®µçå¼ |
| | | * @param thisSecValueList ç å¼çå表 |
| | | * @param attrSevIsSerialDepend æ¯å¦æä½ä¸ºæµæ°´ä¾æ® |
| | | * @param serialUnitList æµæ°´ä¾æ®çå
容 |
| | | * è¿éè¦åç»çä¸ä¸ªç§»æ¤å°ä¼æ¶åå°å
¶ä»çæå¡ |
| | | */ |
| | | private void switchAttrSecValue(List<CodeBasicSecVO> attrSecVOList,CodeWupinEntity cbo, |
| | | List<String> thisSecValueList,boolean attrSevIsSerialDepend, |
| | | List<String> serialUnitList){ |
| | | if (!CollectionUtils.isEmpty(attrSecVOList)) { |
| | | attrSecVOList.stream().forEach(attrSevVO -> { |
| | | String value = ""; |
| | | if (StringUtils.isNotBlank(attrSevVO.getGetValueClass())) { |
| | | //使ç¨ç»åè§åæ¥å¤çç |
| | | // value = getValueByFormulaForCBO(cbo, attrSevVO.getGetValueClass()); |
| | | } else { |
| | | // value = cbo.getAttributeValue(attrSevVO.getReferAttributeId()); |
| | | } |
| | | if (value == null) { |
| | | value = ""; |
| | | } |
| | | //æ¿æ¢secValueListéé¢çå
容 |
| | | for (int j = 0; j < thisSecValueList.size(); j++) { |
| | | String secValue = thisSecValueList.get(j); |
| | | if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) { |
| | | thisSecValueList.set(j, value); |
| | | } |
| | | } |
| | | if (attrSevIsSerialDepend) { |
| | | //æ¯æµæ°´ä¾èµçè¯ï¼éè¦å»æ¿æ¢ä¸ä¸ |
| | | for (int j = 0; j < serialUnitList.size(); j++) { |
| | | String secValue = serialUnitList.get(j); |
| | | if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) { |
| | | serialUnitList.set(j, value); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è½¬æ¢æµæ°´ç 段çå¼ |
| | | * @param serialSecVOList æµæ°´ç 段 |
| | | * @param attrSevIsSerialDepend æ¯å¦æå±æ§ç 段å䏿µæ°´ |
| | | * @param ruleVO è§åçå
容 |
| | | * @param serialUnitString æµæ°´ä¾æ® |
| | | * @param maxSerialValueMap æå¤§çæµæ°´å· |
| | | * @param thisSecValueList æ¬æ¬¡çç å¼ |
| | | * @param lastMaxSerialValueMap å°è£
å |
| | | * @param firstData æ¯å¦ä¸ºç¬¬ä¸æ¡æ°æ® |
| | | */ |
| | | private void switchSerialSecValue(List<CodeBasicSecVO> serialSecVOList,boolean attrSevIsSerialDepend, |
| | | CodeRuleVO ruleVO,String serialUnitString, |
| | | Map<String/**ç æ®µç主é®**/,Map<String/**æµæ°´ä¾æ®**/,CodeSerialValue>> maxSerialValueMap,List<String> thisSecValueList, |
| | | Map<String/**ç æ®µç主é®**/,Map<String/**æµæ°´ä¾æ®**/, Double>> lastMaxSerialValueMap,boolean firstData){ |
| | | if (!CollectionUtils.isEmpty(serialSecVOList)) { |
| | | for (int j = 0; j < serialSecVOList.size(); j++) { |
| | | CodeBasicSecVO secVO = serialSecVOList.get(j); |
| | | if (attrSevIsSerialDepend || firstData) { |
| | | //妿屿§ç æ®µä¹æ¯ä¾èµï¼åæ¯æ¬¡é½è¦æ¥è¯¢ï¼å¦æå±æ§ç æ®µä¸æ¯ä¾èµï¼ååªæ¥è¯¢ä¸æ¬¡ |
| | | // Map<String, String> conditionMap = new HashMap<>(); |
| | | // conditionMap.put("codeRuleOid", ruleVO.getOid()); |
| | | // conditionMap.put("serialUnit", serialUnitString); |
| | | // //è¿ä¸ªå段æ¯ä¸ºäºè§£å³å¤ä¸ªæµæ°´çé®é¢ |
| | | // conditionMap.put("codeSecOid", secVO.getOid()); |
| | | QueryWrapper<CodeSerialValue> codeSerialWrapper = new QueryWrapper<>(); |
| | | codeSerialWrapper.eq("codeRuleOid", ruleVO.getOid()); |
| | | codeSerialWrapper.eq("serialUnit", serialUnitString); |
| | | codeSerialWrapper.eq("codeSecOid", secVO.getOid()); |
| | | List<CodeSerialValue> serialValueDOS = serialValueMapper.selectList(codeSerialWrapper); |
| | | if (!CollectionUtils.isEmpty(serialValueDOS)) { |
| | | Map<String, CodeSerialValue> unitSerialMap = maxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>()); |
| | | CodeSerialValue serialValueDO = serialValueDOS.get(0); |
| | | unitSerialMap.put(serialValueDO.getSerialUnit(),serialValueDO); |
| | | maxSerialValueMap.put(secVO.getOid(), unitSerialMap); |
| | | } |
| | | } |
| | | Double startValue = null; |
| | | if(maxSerialValueMap.containsKey(secVO.getOid()) && maxSerialValueMap.get(secVO.getOid()).containsKey(serialUnitString)){ |
| | | startValue = VciBaseUtil.getDouble(maxSerialValueMap.get(secVO.getOid()).get(serialUnitString).getMaxSerial()); |
| | | } |
| | | if(lastMaxSerialValueMap.containsKey(secVO.getOid()) && lastMaxSerialValueMap.get(secVO.getOid()).containsKey(serialUnitString)){ |
| | | //说æå¤ä¸ªç³è¯·ï¼ä¹åå·²ç»å äºæµæ°´å·äº |
| | | startValue = lastMaxSerialValueMap.get(secVO.getOid()).get(serialUnitString); |
| | | } |
| | | Double thisSerialValue = 0d; |
| | | if (startValue == null) { |
| | | //第ä¸ä¸ªç¼ç |
| | | thisSerialValue = VciBaseUtil.getDouble(secVO.getSerialStart()); |
| | | } else { |
| | | //æµæ°´å·è¯å®æ¯æ°å |
| | | thisSerialValue = startValue + (j + 1) * secVO.getSerialStep(); |
| | | } |
| | | //è¦çæ¯å¦è¶
è¿æå¤§çæµæ°´å¼ |
| | | if (thisSerialValue >= secVO.getCodeFillLimit()) { |
| | | throw new VciBaseException("æµæ°´å·å·²ç»è¶
è¿å
许çæå¤§æµæ°´å¼{0}",new String[]{secVO.getCodeFillLimit().toString()}); |
| | | } |
| | | //è¦çè¡¥ä½çå
容 |
| | | Integer fillLength = VciBaseUtil.getInt(secVO.getCodeFillLength()); |
| | | if (fillLength == 0 || fillLength > VciBaseUtil.getInt(secVO.getCodeSecLength())) { |
| | | //鲿¢å¨æ·»å çå°æ¹æ²¡ææ§å¶æ£ç¡® |
| | | fillLength = VciBaseUtil.getInt(secVO.getCodeSecLength()); |
| | | } |
| | | String serialString = String.valueOf(thisSerialValue.longValue()); |
| | | serialString = fillString(fillLength, OsCodeFillTypeEnum.forValue(secVO.getCodeFillType()), serialString, secVO.getCodeFillSeparator()); |
| | | for (int z = 0; z < thisSecValueList.size(); z++) { |
| | | String secValue = thisSecValueList.get(z); |
| | | if (secValue.equalsIgnoreCase("${" + secVO.getOid() + "}")) { |
| | | thisSecValueList.set(z, serialString); |
| | | } |
| | | } |
| | | Map<String, Double> unitSerialMap = lastMaxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>()); |
| | | unitSerialMap.put(serialUnitString, thisSerialValue); |
| | | lastMaxSerialValueMap.put(secVO.getOid(),unitSerialMap); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 转æ¢ç å¼çå
容 |
| | | * @param secVO ç æ®µçå
容 |
| | | * @param secValueMap ç å¼çå
容ï¼keyæ¯ç 段ç主é®ï¼valueæ¯ç å¼ |
| | | * @param classifyFullInfoBO åç±»çå
¨é¨ä¿¡æ¯ |
| | | * @param serialSecVOList æµæ°´ç 段 |
| | | * @param attrSecVOList 屿§ç 段 |
| | | * @param serialUnitList æµæ°´ä¾æ® |
| | | * @param secValueList ç å¼å表 |
| | | */ |
| | | private void switchSecValue(CodeBasicSecVO secVO,Map<String,String> secValueMap, |
| | | CodeClassifyFullInfoBO classifyFullInfoBO,List<CodeBasicSecVO> serialSecVOList, |
| | | List<CodeBasicSecVO> attrSecVOList, List<String> serialUnitList, |
| | | List<String> secValueList ){ |
| | | CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(secVO.getSecType()); |
| | | String secValue = secValueMap.getOrDefault(secVO.getOid(), ""); |
| | | switch (secType) { |
| | | case CODE_FIXED_SEC: |
| | | //åºå®ç 段çï¼ç´æ¥ç¨ç å¼,ä¸è®ºç å¼çé¿åº¦æ¯å¤å°ï¼å 为å¯åé¿åº¦ååºå®é¿åº¦æ¯æ§å¶å¨ç 段管çéé¢çç å¼å®ä¹ç |
| | | break; |
| | | case CODE_DATE_SEC: |
| | | //æ¶é´ç 段ï¼éè¦å°å½åæ¶é´ä¾æ®æ¶é´æ ¼å¼è¿è¡è½¬æ¢. |
| | | //æ¶é´ç æ®µä¸æ¶åå°æ¯å¦è¡¥ä½ |
| | | secValue = VciDateUtil.date2Str(new Date(), secVO.getCodeDateFormatStr()); |
| | | break; |
| | | case CODE_CLASSIFY_SEC: |
| | | //åç±»ç æ®µçï¼ä¹æ¯ä»åç«¯éæ©äºç å¼å³å¯ï¼ä¸è®ºç å¼çé¿åº¦æ¯å¤å° |
| | | break; |
| | | case CODE_LEVEL_SEC: |
| | | //å±çº§ç 段ï¼éè¦ä»åç±»ä¸è·åç¸åºçä¿¡æ¯ |
| | | if (CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(secVO.getCodeLevelType())) { |
| | | //æå°å±ï¼å 为æä»¬åªè½å¨å¶åèç¹ä¸ç³è¯·ç¼ç ï¼æä»¥è¿ä¸ªå°±æ¯å½ååç±»ç |
| | | if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(secVO.getCodeGetValueType()) || CollectionUtils.isEmpty(classifyFullInfoBO.getParentClassifyVOs())) { |
| | | //å°±æ¯å½ååç±»ç |
| | | secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); |
| | | } else { |
| | | //æä»¬éè¦ä»é¡¶å±å¼å§æ¾å°å½ååç±»ä¸ºæ¢ |
| | | secValue = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId(); |
| | | } |
| | | } else { |
| | | //æå®å±ï¼æä»¬éè¦éè¿ä¸çº§çæ¥è·å |
| | | if (CollectionUtils.isEmpty(classifyFullInfoBO.getParentClassifyVOs())) { |
| | | //说æå½åå·²ç»æ¯æé«çäº |
| | | secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); |
| | | } else { |
| | | //è¿ä¸ªæä»¬éè¦çç,å±çº§æ¯ä¸æ¯å¤§äºäºæå¤§å±çº§çæ° |
| | | List<CodeClassifyVO> parentClassifyVOList = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList()); |
| | | if (secVO.getCodeLevelValue() > (parentClassifyVOList.size() + 1)) { |
| | | //æå®çå±çº§æ¯å½åçå±çº§è¿å¤§äºï¼æä»¥åªè½è·åå½åå±çº§äº |
| | | if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(secVO.getCodeGetValueType())) { |
| | | secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); |
| | | } else { |
| | | secValue = parentClassifyVOList.stream().map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId(); |
| | | } |
| | | } else { |
| | | //æä»¬è·åå
¶ä¸æå®å±çå
容 |
| | | if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(secVO.getCodeGetValueType())) { |
| | | CodeClassifyVO classifyVO = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() == secVO.getCodeLevelValue().intValue()).findFirst().orElseGet(() -> null); |
| | | if (classifyVO != null) { |
| | | secValue = classifyVO.getId(); |
| | | } |
| | | } else { |
| | | //å°äºçäºçå
¨é¨æ¿åºæ¥ |
| | | secValue = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() <= secVO.getCodeLevelValue().intValue()).sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //ççé¿åº¦æ¯å¦éè¦æªæ |
| | | if (!CodeCutTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getValueCutType()) && |
| | | secVO.getValueCutLength() != null && secVO.getValueCutLength() > 0 && secValue.length() > secVO.getValueCutLength()) { |
| | | if (CodeCutTypeEnum.RIGHT.getValue().equalsIgnoreCase(secVO.getValueCutType())) { |
| | | //å·¦æªåæ¯ä»å·¦è¾¹åªæï¼å³æªåæ¯ä»å³è¾¹åªæ--ä¿ç左边 |
| | | secValue = secValue.substring(0, secVO.getValueCutLength()); |
| | | } else { |
| | | secValue = secValue.substring(secValue.length() - secVO.getValueCutLength()); |
| | | } |
| | | } |
| | | break; |
| | | case CODE_REFER_SEC: |
| | | //å¼ç¨çå¨é¡µé¢ä¸å·²ç»éæ©äºï¼æä»¥ç´æ¥ä½¿ç¨å端ä¸ä¼ éçå¼ |
| | | //å¼ç¨å°±æ¯åç
§ï¼å¯è½æ¯å
¶ä»çåç±»ï¼ä¸å¡ç±»åï¼ä¸çæ°æ®ï¼æä»¥åªå¨é¡µé¢ä¸éæ© |
| | | break; |
| | | case CODE_ATTR_SEC: |
| | | //屿§ä¸å¼ç¨çåºå«æ¯ï¼å±æ§æ¯å½åæ°æ®éç屿§ï¼èå¼ç¨å¯è½æ¯å¼ç¨å
¶ä»çåç±»çï¼ä¸å¡ç±»åï¼ |
| | | //å 为å¯è½æ¯æ¹éçæ°æ®çæä½ï¼æä»¥æä»¬è¿éä¸è½ç´æ¥å¤ç屿§ï¼éè¦åè¾¹ä¸è¾¹å¤ç |
| | | secValue = "${attr_" + secVO.getOid() + "}"; |
| | | attrSecVOList.add(secVO); |
| | | break; |
| | | case CODE_VARIABLE_SEC: |
| | | //å¯åç æ®µï¼æ¯å¨é¡µé¢ä¸è¾å
¥å
容 |
| | | if (secValue.length() > VciBaseUtil.getInt(secVO.getCodeSecLength())) { |
| | | throw new VciBaseException("ã{0}ãè¿ä¸ªç 段æ¯å¯åç æ®µï¼ä½æ¯ç°å¨è¾å
¥çç å¼çé¿åº¦({1})è¶
è¿äºè§å®çé¿åº¦{2}", new String[]{secVO.getName(), String.valueOf(secValue.length()), secVO.getCodeSecLength()}); |
| | | } |
| | | OsCodeFillTypeEnum fillTypeEnum = OsCodeFillTypeEnum.forValue(secVO.getCodeFillType()); |
| | | secValue = fillString(VciBaseUtil.getInt(secVO.getCodeSecLength()), fillTypeEnum, secValue, secVO.getCodeFillSeparator()); |
| | | break; |
| | | case CODE_SERIAL_SEC: |
| | | //æµæ°´ç 段 |
| | | serialSecVOList.add(secVO); |
| | | secValue = "${" + secVO.getOid() + "}"; |
| | | default: |
| | | break; |
| | | } |
| | | if (VciBaseUtil.getBoolean(secVO.getSerialDependFlag())) { |
| | | serialUnitList.add(secValue); |
| | | } |
| | | secValueList.add(secValue); |
| | | } |
| | | |
| | | /** |
| | | * è¡¥ä½ |
| | | * @param totalLength æ»é¿åº¦ |
| | | * @param fillTypeEnum è¡¥ä½æ¹å¼ |
| | | * @param text å½åçå
容 |
| | | * @param fillChar è¡¥ä½çå符 |
| | | * @return ä¸å¡«å
ä½ç½®åé¿åº¦å·²ç»è¾¾å°/è¶
è¿çæ¶åä¸ä¼å¡«å
|
| | | */ |
| | | private String fillString(int totalLength,OsCodeFillTypeEnum fillTypeEnum,String text,String fillChar){ |
| | | if(text.length() >= totalLength || OsCodeFillTypeEnum.NONE.equals(fillTypeEnum)){ |
| | | //ä¸ç¨è¡¥ä½äº |
| | | return text; |
| | | } |
| | | int balance = totalLength - text.length(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < balance; i++) { |
| | | sb.append(fillChar); |
| | | } |
| | | if(OsCodeFillTypeEnum.LEFT.equals(fillTypeEnum)) { |
| | | text = sb.toString() + text; |
| | | }else { |
| | | text = text + sb.toString(); |
| | | } |
| | | return text; |
| | | } |
| | | |
| | | /** |
| | | * å°è£
åå¨ç å¼ç对象 |
| | | * @param classifyFullInfoBO åç±»å
¨é¨çä¿¡æ¯ |
| | | * @param ruleVO è§åçå
容 |
| | | * @param cbo ä¸å¡æ°æ® |
| | | * @param templateVO 模æ¿çä¿¡æ¯ |
| | | * @param allCodeDOList ææçç å¼ç对象å表 |
| | | */ |
| | | private void wrapperAllCode(CodeClassifyFullInfoBO classifyFullInfoBO,CodeRuleVO ruleVO, |
| | | CodeWupinEntity cbo,CodeClstemplateVO templateVO, |
| | | List<CodeAllCode> allCodeDOList,String serialUnitString,String serialValueString){ |
| | | CodeAllCode allCodeDO = new CodeAllCode(); |
| | | allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); |
| | | allCodeDO.setCodeRuleOid(ruleVO.getOid()); |
| | | allCodeDO.setId(cbo.getId()); |
| | | allCodeDO.setCodeClassifyTemplateOid(templateVO.getOid()); |
| | | allCodeDO.setCreateCodeBtm(cbo.getBtmname()); |
| | | allCodeDO.setCreateCodeOid(cbo.getOid()); |
| | | allCodeDO.setSerialUnit(serialUnitString); |
| | | allCodeDO.setUnFillSerial(serialValueString); |
| | | allCodeDO.setLcStatus(cbo.getLcStatus()); |
| | | allCodeDOList.add(allCodeDO); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * ä¿åæµæ°´çä¿¡æ¯ |
| | | * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ |
| | | * @param lastMaxSerialValueMap æå¤§çæµæ°´å¼æ å° |
| | | * @param maxSerialValueMap 便®åå¨çæå¤§æµæ°´çå
容 |
| | | */ |
| | | private void saveSerialValue(CodeRuleVO ruleVO, |
| | | Map<String/**ç æ®µç主é®**/,Map<String, Double>> lastMaxSerialValueMap, |
| | | Map<String/**ç æ®µç主é®**/,Map<String, CodeSerialValue>> maxSerialValueMap){ |
| | | List<CodeSerialValue> editSerialValueDOList = new ArrayList<>(); |
| | | List<CodeSerialValue> addSerialValueDOList = new ArrayList<>(); |
| | | //åå¨æå¤§æµæ°´å· |
| | | lastMaxSerialValueMap.forEach((secOid,maxSerialMap)->{ |
| | | maxSerialMap.forEach((unit,maxSerial)->{ |
| | | CodeSerialValue serialValueDO = null; |
| | | if(maxSerialValueMap.containsKey(secOid) && maxSerialValueMap.get(secOid).containsKey(unit)){ |
| | | //è¯´ææ |
| | | serialValueDO = maxSerialValueMap.get(secOid).get(unit); |
| | | serialValueDO.setMaxSerial(maxSerial.toString()); |
| | | editSerialValueDOList.add(serialValueDO); |
| | | }else{ |
| | | serialValueDO = new CodeSerialValue(); |
| | | serialValueDO.setCodeRuleOid(ruleVO.getOid()); |
| | | serialValueDO.setSerialUnit(unit); |
| | | serialValueDO.setCodeSecOid(secOid); |
| | | serialValueDO.setMaxSerial(maxSerial.toString()); |
| | | addSerialValueDOList.add(serialValueDO); |
| | | } |
| | | }); |
| | | }); |
| | | if(!CollectionUtils.isEmpty(editSerialValueDOList)){ |
| | | // batchCBO.copyFromOther(serialValueMapper.batchUpdate(editSerialValueDOList)); |
| | | for (CodeSerialValue codeSerialValue : editSerialValueDOList) { |
| | | serialValueMapper.updateById(codeSerialValue); |
| | | } |
| | | } |
| | | if(!CollectionUtils.isEmpty(addSerialValueDOList)){ |
| | | for (CodeSerialValue codeSerialValue : addSerialValueDOList) { |
| | | serialValueMapper.insert(codeSerialValue); |
| | | } |
| | | // batchCBO.copyFromOther(serialValueMapper.batchInsert(addSerialValueDOList)); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 廿䏿¯æ°åçå符 |
| | | * @param s å符 |
| | | * @return æ¿æ¢åçå¼ |
| | | */ |
| | | private String killUnNumberChar(String s){ |
| | | Integer lastUnNumberIndex = 0; |
| | | for (int i = 0; i < s.length(); i++) { |
| | | char c = s.charAt(i); |
| | | if(!(new String(new char[]{c})).matches(RegExpConstant.NUMBER)){ |
| | | lastUnNumberIndex = i; |
| | | } |
| | | } |
| | | String value = s; |
| | | if(lastUnNumberIndex >0){ |
| | | value = value.substring(lastUnNumberIndex); |
| | | } |
| | | return value; |
| | | } |
| | | |
| | | /** |
| | | * å»é¤è¡¥ä½å符 |
| | | * @param s å符 |
| | | * @param fillString è¡¥ä½å符 |
| | | * @param left æ¯å¦å·¦è¡¥ä½ |
| | | * @return æ¿æ¢åçå¼ |
| | | */ |
| | | private String killFillChar(String s, String fillString,boolean left){ |
| | | Integer index = 0; |
| | | String value = s; |
| | | if(left){ |
| | | for (int i = 0; i < s.length(); i++) { |
| | | char c = s.charAt(i); |
| | | if((new String(new char[]{c})).equalsIgnoreCase(fillString)){ |
| | | index = i; |
| | | } |
| | | } |
| | | if(index >0){ |
| | | value = value.substring(index); |
| | | } |
| | | }else{ |
| | | //ä»å³å¾å·¦æ¾ |
| | | for (int i = s.length()-1; i >=0; i++) { |
| | | char c = s.charAt(i); |
| | | if((new String(new char[]{c})).equalsIgnoreCase(fillString)){ |
| | | index = i; |
| | | } |
| | | } |
| | | if(index >0){ |
| | | value = value.substring(0,index); |
| | | } |
| | | } |
| | | return value; |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.wrapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; |
| | | import com.vci.ubcs.code.entity.CodeClassifyValue; |
| | | import com.vci.ubcs.code.enumpack.CodeClassifyProcessUseEnum; |
| | | import com.vci.ubcs.code.vo.CodeClsflowtempVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | public class CodeClassifyProcessTempWrapper extends BaseEntityWrapper<CodeClassifyProcessTemp, CodeClassifyProcessTempVO> { |
| | | |
| | | public static CodeClassifyProcessTempWrapper build() { |
| | | return new CodeClassifyProcessTempWrapper(); |
| | | } |
| | | |
| | | @Override |
| | | public CodeClassifyProcessTempVO entityVO(CodeClassifyProcessTemp codeClassifyProcessTemp) { |
| | | CodeClassifyProcessTempVO codeClassifyProcessTempVO = Objects.requireNonNull(BeanUtil.copy(codeClassifyProcessTemp, CodeClassifyProcessTempVO.class)); |
| | | codeClassifyProcessTempVO.setCodeProcessUseText(CodeClassifyProcessUseEnum.getTextByValue(codeClassifyProcessTemp.getCodeProcessUse())); |
| | | |
| | | |
| | | return codeClassifyProcessTempVO; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | package com.vci.ubcs.code.wrapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodePhaseAttr; |
| | | import com.vci.ubcs.code.entity.CodePhaseattrEntity; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import com.vci.ubcs.code.vo.CodePhaseattrVO; |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public class CodePhaseattrWrapper extends BaseEntityWrapper<CodePhaseAttr, CodePhaseattrVO> { |
| | | public class CodePhaseattrWrapper extends BaseEntityWrapper<CodePhaseattrEntity, CodePhaseattrVO> { |
| | | |
| | | public static CodePhaseattrWrapper build() { |
| | | return new CodePhaseattrWrapper(); |
| | | } |
| | | |
| | | @Override |
| | | public CodePhaseattrVO entityVO(CodePhaseAttr CodePhaseattr) { |
| | | CodePhaseattrVO CodePhaseattrVO = Objects.requireNonNull(BeanUtil.copy(CodePhaseattr, CodePhaseattrVO.class)); |
| | | public CodePhaseattrVO entityVO(CodePhaseattrEntity codePhaseattr) { |
| | | CodePhaseattrVO CodePhaseattrVO = Objects.requireNonNull(BeanUtil.copy(codePhaseattr, CodePhaseattrVO.class)); |
| | | |
| | | //User createUser = UserCache.getUser(CodePhaseattr.getCreateUser()); |
| | | //User updateUser = UserCache.getUser(CodePhaseattr.getUpdateUser()); |
| | |
| | | */ |
| | | package com.vci.ubcs.code.wrapper; |
| | | |
| | | import com.vci.ubcs.code.entity.CodeTemplatePhase; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; |
| | | import com.vci.ubcs.code.entity.CodeTempphaseEntity; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | |
| | |
| | | * @author yuxc |
| | | * @since 2023-04-20 |
| | | */ |
| | | public class CodeTempphaseWrapper extends BaseEntityWrapper<CodeTemplatePhase, CodeTemplatePhaseVO> { |
| | | public class CodeTempphaseWrapper extends BaseEntityWrapper<CodeTempphaseEntity, CodeTemplatePhaseEntityVO> { |
| | | |
| | | public static CodeTempphaseWrapper build() { |
| | | return new CodeTempphaseWrapper(); |
| | | } |
| | | |
| | | @Override |
| | | public CodeTemplatePhaseVO entityVO(CodeTemplatePhase CodeTempphase) { |
| | | CodeTemplatePhaseVO CodeTemplatePhaseVO = Objects.requireNonNull(BeanUtil.copy(CodeTempphase, CodeTemplatePhaseVO.class)); |
| | | public CodeTemplatePhaseEntityVO entityVO(CodeTempphaseEntity CodeTempphase) { |
| | | CodeTemplatePhaseEntityVO CodeTemplatePhaseVO = Objects.requireNonNull(BeanUtil.copy(CodeTempphase, CodeTemplatePhaseEntityVO.class)); |
| | | |
| | | //User createUser = UserCache.getUser(CodeTempphase.getCreateUser()); |
| | | //User updateUser = UserCache.getUser(CodeTempphase.getUpdateUser()); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.wrapper; |
| | | |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | import com.vci.ubcs.code.vo.CodeWupinVO; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * ç¼ç ä¿¡æ¯ å
è£
ç±»,è¿åè§å¾å±æéçåæ®µ |
| | | * |
| | | * @author yuxc |
| | | * @since 2023-05-05 |
| | | */ |
| | | public class CodeWupinWrapper extends BaseEntityWrapper<CodeWupinEntity, CodeWupinVO> { |
| | | |
| | | public static CodeWupinWrapper build() { |
| | | return new CodeWupinWrapper(); |
| | | } |
| | | |
| | | @Override |
| | | public CodeWupinVO entityVO(CodeWupinEntity codeWupin) { |
| | | CodeWupinVO codeWupinVO = Objects.requireNonNull(BeanUtil.copy(codeWupin, CodeWupinVO.class)); |
| | | |
| | | //User createUser = UserCache.getUser(codeWupin.getCreateUser()); |
| | | //User updateUser = UserCache.getUser(codeWupin.getUpdateUser()); |
| | | //codeWupinVO.setCreateUserName(createUser.getName()); |
| | | //codeWupinVO.setUpdateUserName(updateUser.getName()); |
| | | |
| | | return codeWupinVO; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | <select id="selectChildHasReleaseTemplate" resultType="list"> |
| | | select t.oid as oid, cls.oid as clsoid |
| | | from platformbtm_codeclstemplate t |
| | | left join (select oid |
| | | from platformbtm_codeclassify |
| | | where lcstatus = #{lcstatus} |
| | | start with oid = #{classifyoid} |
| | | connect by prior oid = parentcodeclassifyoid) cls |
| | | on t.codeclassifyoid = cls.oid |
| | | where t.lcstatus = #{templatelcstatus} |
| | | and cls.oid is not null |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.vci.ubcs.code.mapper.CodePhaseAttrMapper"> |
| | | <mapper namespace="com.vci.ubcs.code.mapper.CodePhaseattrMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="CodePhaseattrResultMap" type="com.vci.ubcs.code.entity.CodePhaseAttr"> |
| | | <resultMap id="CodePhaseattrResultMap" type="com.vci.ubcs.code.entity.CodePhaseattrEntity"> |
| | | <result column="OID" property="oid"/> |
| | | <result column="REVISIONOID" property="revisionOid"/> |
| | | <result column="NAMEOID" property="nameOid"/> |
| | |
| | | <mapper namespace="com.vci.ubcs.code.mapper.CodeTemplatePhaseMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="CodeTempphaseResultMap" type="com.vci.ubcs.code.entity.CodeTemplatePhase"> |
| | | <resultMap id="CodeTempphaseResultMap" type="com.vci.ubcs.code.entity.CodeTempphaseEntity"> |
| | | <result column="CREATETIME" property="createTime"/> |
| | | <result column="LASTMODIFIER" property="lastModifier"/> |
| | | <result column="LASTMODIFYTIME" property="lastModifyTime"/> |
| | |
| | | <result column="DESCRIPTION" property="description"/> |
| | | <result column="OWNER" property="owner"/> |
| | | <result column="COPYFROMVERSION" property="copyFromVersion"/> |
| | | <result column="CODECLASSIFYTEMPLATEOID" property="codeclassifytemplateoid"/> |
| | | <result column="CODECLASSIFYTEMPLATEOID" property="codeClassifyTemplateOid"/> |
| | | <result column="OID" property="oid"/> |
| | | <result column="REVISIONOID" property="revisionOid"/> |
| | | <result column="NAMEOID" property="nameOid"/> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.vci.ubcs.code.mapper.CodeWupinMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="codeWupinResultMap" type="com.vci.ubcs.code.entity.CodeWupinEntity"> |
| | | <result column="OID" property="oid"/> |
| | | <result column="REVISIONOID" property="revisionOid"/> |
| | | <result column="NAMEOID" property="nameOid"/> |
| | | <result column="BTMNAME" property="btmname"/> |
| | | <result column="ISLASTR" property="lastR"/> |
| | | <result column="ISFIRSTR" property="firstR"/> |
| | | <result column="ISLASTV" property="lastV"/> |
| | | <result column="ISFIRSTV" property="firstV"/> |
| | | <result column="CREATOR" property="creator"/> |
| | | <result column="CREATETIME" property="createTime"/> |
| | | <result column="LASTMODIFIER" property="lastModifier"/> |
| | | <result column="LASTMODIFYTIME" property="lastModifyTime"/> |
| | | <result column="REVISIONRULE" property="revisionRule"/> |
| | | <result column="VERSIONRULE" property="versionRule"/> |
| | | <result column="REVISIONSEQ" property="revisionSeq"/> |
| | | <result column="REVISIONVALUE" property="revisionValue"/> |
| | | <result column="VERSIONSEQ" property="versionSeq"/> |
| | | <result column="VERSIONVALUE" property="versionValue"/> |
| | | <result column="LCTID" property="lctid"/> |
| | | <result column="LCSTATUS" property="lcStatus"/> |
| | | <result column="TS" property="ts"/> |
| | | <result column="ID" property="id"/> |
| | | <result column="NAME" property="name"/> |
| | | <result column="DESCRIPTION" property="description"/> |
| | | <result column="OWNER" property="owner"/> |
| | | <result column="CHECKINBY" property="checkinby"/> |
| | | <result column="CHECKINTIME" property="checkintime"/> |
| | | <result column="CHECKOUTBY" property="checkoutby"/> |
| | | <result column="CHECKOUTTIME" property="checkouttime"/> |
| | | <result column="COPYFROMVERSION" property="copyFromVersion"/> |
| | | <result column="CODECLSFID" property="codeclsfid"/> |
| | | <result column="CODECLSFPATH" property="codeclsfpath"/> |
| | | <result column="CODETEMPLATEOID" property="codetemplateoid"/> |
| | | <result column="MATERIALCLASSIFY" property="materialclassify"/> |
| | | <result column="MATERIALID" property="materialid"/> |
| | | <result column="TUHAO" property="tuhao"/> |
| | | <result column="PINPAI" property="pinpai"/> |
| | | <result column="MORENGONGYS" property="morengongys"/> |
| | | <result column="XIEYIJIAGE" property="xieyijiage"/> |
| | | <result column="HESUANPICI" property="hesuanpici"/> |
| | | <result column="BEIZHUSHUOMING" property="beizhushuoming"/> |
| | | <result column="MATERIALTYPE" property="materialtype"/> |
| | | <result column="MATERIALNAME" property="materialname"/> |
| | | <result column="RUANJIANBANBEN" property="ruanjianbanben"/> |
| | | <result column="QITACHICUN" property="qitachicun"/> |
| | | <result column="MORENCAIGOUY" property="morencaigouy"/> |
| | | <result column="YUMAILEIXING" property="yumaileixing"/> |
| | | <result column="CHUANGJIANGONGSI" property="chuangjiangongsi"/> |
| | | <result column="CAIGOUWL" property="caigouwl"/> |
| | | <result column="WULIAOXINGZHI" property="wuliaoxingzhi"/> |
| | | <result column="XIEYIBIANHAO" property="xieyibianhao"/> |
| | | <result column="CAIZHI" property="caizhi"/> |
| | | <result column="CHUKUFANGSHI" property="chukufangshi"/> |
| | | <result column="SHIFOUPIHAOGUANLI" property="shifoupihaoguanli"/> |
| | | <result column="KUCUNWL" property="kucunwl"/> |
| | | <result column="XINGHAOGUIGE" property="xinghaoguige"/> |
| | | <result column="DUIWAIGUIGE" property="duiwaiguige"/> |
| | | <result column="ZHIBAOQI" property="zhibaoqi"/> |
| | | <result column="CAIGOUTIQIANQI" property="caigoutiqianqi"/> |
| | | <result column="HESUANFENLEI" property="hesuanfenlei"/> |
| | | <result column="XIAOSHOUWL" property="xiaoshouwl"/> |
| | | <result column="CHANGJIAXINGHAO" property="changjiaxinghao"/> |
| | | <result column="ZUIXIAOQIDING" property="zuixiaoqiding"/> |
| | | <result column="JILIANGDW" property="jiliangdw"/> |
| | | <result column="ZHILIANGBZ" property="zhiliangbz"/> |
| | | <result column="FIRSTFL" property="firstfl"/> |
| | | <result column="SECONDFL" property="secondfl"/> |
| | | <result column="THRIFL" property="thrifl"/> |
| | | <result column="OLDCODE" property="oldcode"/> |
| | | <result column="SECRETGRADE" property="secretGrade"/> |
| | | <result column="BAOZHUANGGUIGE" property="baozhuangguige"/> |
| | | <result column="PASSING" property="passing"/> |
| | | <result column="XBJ" property="xbj"/> |
| | | <result column="XBXKXS" property="xbxkxs"/> |
| | | <result column="XFJJSTJ" property="xfjjstj"/> |
| | | <result column="XGZCCDGCD" property="xgzccdgcd"/> |
| | | <result column="XXNDJ" property="xxndj"/> |
| | | <result column="XZJMC" property="xzjmc"/> |
| | | <result column="ZJXH" property="zjxh"/> |
| | | <result column="CLPH" property="clph"/> |
| | | <result column="BMCL" property="bmcl"/> |
| | | <result column="CPXS" property="cpxs"/> |
| | | <result column="XBZJBMC" property="xbzjbmc"/> |
| | | <result column="XWLWWMC" property="xwlwwmc"/> |
| | | <result column="JJZYQ" property="jjzyq"/> |
| | | <result column="JSBMC" property="jsbmc"/> |
| | | <result column="JSBXH" property="jsbxh"/> |
| | | <result column="JSCCJ" property="jsccj"/> |
| | | <result column="JSSXT" property="jssxt"/> |
| | | <result column="JSZGL" property="jszgl"/> |
| | | <result column="JZL" property="jzl"/> |
| | | <result column="JZRXX" property="jzrxx"/> |
| | | <result column="JZXZB" property="jzxzb"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="selectCodeWupinPage" resultMap="codeWupinResultMap"> |
| | | select * from PL_CODE_WUPIN where is_deleted = 0 |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | <maven.compiler.source>8</maven.compiler.source> |
| | | <maven.compiler.target>8</maven.compiler.target> |
| | | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| | | <maven.plugin.version>3.8.1</maven.plugin.version> |
| | | </properties> |
| | | |
| | | <dependencies> |
| | |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <build> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-maven-plugin</artifactId> |
| | | <configuration> |
| | | <skip>true</skip> |
| | | <finalName>${project.name}</finalName> |
| | | </configuration> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | |
| | | </project> |
| | |
| | | List<VciFieldTypeEnum> fieldTypes = listFieldInMapByColumnStr(columnStr, map); |
| | | VciFieldTypeEnum finalField = null; |
| | | int i = Integer.MAX_VALUE; |
| | | if (CollectionUtils.isEmpty(fieldTypes)){ |
| | | return null; |
| | | } |
| | | if (fieldTypes.size() == 1){ |
| | | return fieldTypes.get(0); |
| | | } |
| | | for (VciFieldTypeEnum fieldType : fieldTypes) { |
| | | DdlFieldMappingAttrBO bo = map.get(fieldType); |
| | | int i1 = Math.abs(bo.getDataLength() - length); |
| | | if (i1 < i){ |
| | | finalField = fieldType; |
| | | i = i1; |
| | | if (fieldType.equals(VciFieldTypeEnum.VTString)) { |
| | | finalField = VciFieldTypeEnum.VTString; |
| | | } |
| | | if (fieldType.equals(VciFieldTypeEnum.VTDateTime)){ |
| | | finalField = VciFieldTypeEnum.VTDateTime; |
| | | } |
| | | if (fieldType.equals(VciFieldTypeEnum.VTInteger) && length <= 26){ |
| | | finalField = VciFieldTypeEnum.VTInteger; |
| | | } |
| | | } |
| | | return finalField; |
| | |
| | | List<BtmTypeVO> btmTypeVOList = new ArrayList<>(); |
| | | allTableBO.forEach(table -> { |
| | | BtmTypeVO vo = new BtmTypeVO(); |
| | | vo.setTableName(table.getTableName()); |
| | | vo.setTableName(table.getTableName().toLowerCase()); |
| | | vo.setDescription(table.getTableDesc()); |
| | | List<DdlTableInDataBaseBO> columns = selectTableColumnInfo(table.getTableName()); |
| | | List<BtmTypeAttributeVO> attributes = new ArrayList<>(); |
| | | columns.forEach(col -> { |
| | | BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO(); |
| | | attributeVO.setId(col.getId()); |
| | | attributeVO.setId(col.getId().toLowerCase()); |
| | | attributeVO.setName(col.getName()); |
| | | attributeVO.setNullableFlag(col.getNullableFlag()); |
| | | attributeVO.setAttributeLength(col.getAttributeLength()); |
| | |
| | | if (field != null){ |
| | | attributeVO.setAttrDataType(field.name()); |
| | | } |
| | | if(col.getPrecisionLength() != null){ |
| | | attributeVO.setAttrDataType(VciFieldTypeEnum.VTDouble.name()); |
| | | } |
| | | attributes.add(attributeVO); |
| | | }); |
| | | vo.setAttributes(attributes); |
| | |
| | | @RequestMapping("/attribute") |
| | | @Api(value = "å
æ°æ®æ§å¶å¨", tags = "å
æ°æ®æ§å¶å¨") |
| | | public class AttributeController extends BladeController { |
| | | |
| | | /** |
| | | * å
æ°æ®æå¡ |
| | | */ |
| | |
| | | package com.vci.ubcs.omd.controller; |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.nacos.api.exception.NacosException; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.omd.constant.OmdCacheConstant; |
| | |
| | | import com.vci.ubcs.omd.entity.BtmType; |
| | | import com.vci.ubcs.omd.repeater.DomainRepeater; |
| | | import com.vci.ubcs.omd.service.IBtmTypeService; |
| | | import com.vci.ubcs.omd.vo.BtmTypeTreeVO; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; |
| | | import io.swagger.annotations.*; |
| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * Description: ä¸å¡ç±»åæ§å¶å¨ |
| | |
| | | @ApiImplicitParam(name = "name", value = "ä¸å¡ç±»å䏿åç§°", paramType = "query", dataType = "string"), |
| | | @ApiImplicitParam(name = "tableName", value = "ä¸å¡ç±»åæ°æ®åºè¡¨å", paramType = "query", dataType = "string"), |
| | | }) |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "æ¥è¯¢å表", notes = "ä¼ å
¥æ¥è¯¢") |
| | | public R<IPage<BtmTypeVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> condition, Query query) { |
| | | IPage<BtmTypeVO> pageVO = new Page<>(); |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @PostMapping("/submit/{auto}") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å
¥ä¸å¡ç±»å对象") |
| | | public R submit(@Valid @RequestBody BtmTypeDTO dto,@PathVariable(value = "auto") boolean auto) { |
| | | CacheUtil.clear(OmdCacheConstant.BTM_CACHE); |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "å é¤", notes = "主é®éå") |
| | | public R remove(@ApiParam(value = "主é®éå", required = true) @RequestParam String ids) { |
| | | CacheUtil.clear(OmdCacheConstant.BTM_CACHE); |
| | |
| | | * è·åé¢åå¼ |
| | | */ |
| | | @GetMapping("/domain") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "è·åé¢åå¼") |
| | | public R<List<String>> getDomain(){ |
| | | try { |
| | |
| | | return R.fail(e.getErrMsg()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ædomainåç»ï¼æ¥è¯¢ä¸å¡ç±»åçæ å½¢ç»æ |
| | | */ |
| | | @GetMapping("/tree-domain") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "ä¸å¡ç±»åæ å½¢ç»æ", notes = "ä¸å¡ç±»åæ å½¢ç»æ") |
| | | public R<List<BtmTypeTreeVO>> treeDomain(){ |
| | | return R.data(btmTypeService.treeDomain()); |
| | | } |
| | | |
| | | /** |
| | | * 仿°æ®åºè¡¨ä¸è·å |
| | | * @param domain é¢åå¼ |
| | | * @return 读åç»æ |
| | | */ |
| | | @GetMapping("/get-from-table") |
| | | @ApiOperation(value = "仿°æ®åºè¡¨ä¸è¯»å",notes = "仿°æ®åºè¡¨ä¸è¯»å") |
| | | @ApiOperationSupport(order = 8) |
| | | public R<List<BtmTypeVO>> getFromTable(String domain){ |
| | | return R.data(btmTypeService.getFromTable(domain)); |
| | | } |
| | | |
| | | /** |
| | | * æ°æ®åºéæ©ç表ä¿å为ä¸å¡ç±»å |
| | | * @param btmTypeDTOList 页é¢ä¼ è¾å¯¹è±¡ |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @PostMapping("/save-from-table/{domain}") |
| | | @ApiOperation(value = "仿°æ®åºä¸ä¿å",notes = "仿°æ®åºä¸ä¿å") |
| | | @ApiOperationSupport(order = 9) |
| | | public R saveFromTable(@RequestBody List<BtmTypeDTO> btmTypeDTOList,@PathVariable(value = "domain") String domain){ |
| | | // æ°æ®åºè¡¨ä¸è½éå¤ |
| | | Set<String> tableNames = btmTypeDTOList.stream().map(BtmTypeDTO::getTableName).filter(StringUtils::isNotBlank).collect(Collectors.toSet()); |
| | | long count = btmTypeService.count(Wrappers.<BtmType>query().lambda().in(BtmType::getTableName,tableNames)); |
| | | if (count > 0){ |
| | | return R.fail("æé表å¨ä¸å¡ç±»åä¸å·²åå¨"); |
| | | } |
| | | // ä¸å¡ç±»åä¸è½éå¤ |
| | | btmTypeDTOList = btmTypeDTOList.stream().peek(s -> { |
| | | String id; |
| | | String tableName = s.getTableName(); |
| | | if (tableName.contains(StringPool.UNDERSCORE)) { |
| | | List<String> strList = Arrays.asList(tableName.split(StringPool.UNDERSCORE)); |
| | | id = strList.get(strList.size() - 1); |
| | | } else { |
| | | id = tableName; |
| | | } |
| | | s.setId(id.toLowerCase()); |
| | | }).collect(Collectors.toList()); |
| | | List<String> btmTypeIdList = btmTypeDTOList.stream().map(BtmTypeDTO::getId).collect(Collectors.toList()); |
| | | |
| | | long countId = btmTypeService.count(Wrappers.<BtmType>query().lambda().in(BtmType::getId, btmTypeIdList)); |
| | | if (countId > 0){ |
| | | return R.fail("æé表ä¸å·²åå¨ä¸å¡ç±»åå²çª"); |
| | | } |
| | | return R.data(btmTypeService.saveFromTable(btmTypeDTOList,domain)); |
| | | } |
| | | } |
| | |
| | | List<Attribute> selectAll(); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * @param primaryKey ä¸»é® |
| | | * @return æ¥è¯¢ç»æ |
| | | */ |
| | | Attribute selectByPrimaryKey(Long primaryKey); |
| | | |
| | | /** |
| | | * 䏻鮿¹éæ¥è¯¢ |
| | | * @param primaryKeyCollection 主é®éå |
| | | * @return æ¥è¯¢ç»æ |
| | |
| | | */ |
| | | public interface BtmTypeAttributeMapper extends BladeMapper<BtmTypeAttribute> { |
| | | |
| | | int batchDelete(List<String> records); |
| | | int batchDelete(@Param("records") List<String> records); |
| | | |
| | | |
| | | int batchUpdate(List<BtmTypeAttribute> btmTypeAttributeDOList); |
| | | int batchUpdate(@Param("records") List<BtmTypeAttribute> btmTypeAttributeDOList); |
| | | |
| | | /** |
| | | * è·åä¸å¡ç±»åä¸çæå®å±æ§ |
| | |
| | | package com.vci.ubcs.omd.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.InterceptorIgnore; |
| | | import com.vci.ubcs.omd.entity.BtmTypeAttribute; |
| | | import com.vci.ubcs.omd.entity.BtmType; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | @Repository |
| | | public interface BtmTypeMapper extends BladeMapper<BtmType> { |
| | | /** |
| | | * æ ¹æ®ä¸»é®å é¤å¯¹è±¡ |
| | | * @param oid çå½å¨æä¸»é® |
| | | * @return å½±åçè¡æ° |
| | | */ |
| | | int deleteByPrimaryKey(String oid); |
| | | |
| | | /** |
| | | * æå
¥ä¸å¡ç±»å |
| | | * @param record è¦æ·»å çä¸å¡ç±»å对象 |
| | | * @return å½±åçè¡æ° |
| | | */ |
| | | int insert(BtmType record); |
| | | int deleteByPrimaryKey(@Param("oid") String oid); |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸»é®è·åæ°æ®å¯¹è±¡ |
| | |
| | | * @param records æ¹éçä¿¡æ¯ |
| | | * @return æ§è¡æ»æ° |
| | | */ |
| | | Long batchInsert(@Param("records") List<BtmTypeAttribute> records); |
| | | @InterceptorIgnore(tenantLine = "1") |
| | | Long batchInsert(@Param("records") List<BtmType> records); |
| | | |
| | | } |
| | |
| | | |
| | | import com.alibaba.cloud.nacos.NacosDiscoveryProperties; |
| | | import com.alibaba.cloud.nacos.NacosServiceManager; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.api.exception.NacosException; |
| | | import com.alibaba.nacos.api.naming.NamingService; |
| | | import com.alibaba.nacos.api.naming.pojo.Instance; |
| | | import com.alibaba.nacos.api.naming.pojo.ServiceInfo; |
| | | import com.vci.ubcs.common.constant.LauncherConstant; |
| | | import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.omd.vo.LinkTypeVO; |
| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.http.*; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.client.HttpClientErrorException; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | |
| | | * Nacosæå¡å表 |
| | | */ |
| | | private static NamingService namingService; |
| | | |
| | | @Autowired |
| | | private NacosServiceManager manager; |
| | | |
| | | @Autowired |
| | | private NacosDiscoveryProperties properties; |
| | | |
| | | |
| | | /** |
| | | * æ¿åæå¡ä¸çææè¡¨ä¿¡æ¯ |
| | | * @param serviceName æå¡åç§° |
| | | * @return è¿åç»æ |
| | | * @throws NacosException æ¾ä¸å°æå¡æ¶æåºå¼å¸¸ |
| | | */ |
| | | public static R getFromTable(String serviceName) throws NacosException{ |
| | | ResponseEntity<R> responseEntity = executeGet(getUrl(serviceName, API_GET_ALL_TABLE_INFO), new HashMap<>()); |
| | | if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { |
| | | R body = Objects.requireNonNull(responseEntity.getBody()); |
| | | return body; |
| | | } |
| | | return R.fail(String.valueOf(responseEntity.getStatusCode().value())); |
| | | } |
| | | |
| | | @PostConstruct |
| | | private void init() { |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ§è¡httpGetæ¥å£ |
| | | * |
| | | * @param url å°å |
| | | * @param extraHeaders 请æ±å¤´åæ° |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | private static ResponseEntity<R> executeGet(String url,Map<String, String> extraHeaders) { |
| | | RestTemplate restTemplate = new RestTemplate(); |
| | | HttpHeaders httpHeaders = new HttpHeaders(); |
| | | httpHeaders.add("Blade-Auth", AuthUtil.getHeader()); |
| | | HttpEntity<String> request = new HttpEntity<>(httpHeaders); |
| | | if (!CollectionUtils.isEmpty(extraHeaders)){ |
| | | StringBuilder sb = new StringBuilder().append("?"); |
| | | extraHeaders.forEach( (k,v) -> { |
| | | sb.append(k).append(StringPool.EQUALS).append(v).append(StringPool.AMPERSAND); |
| | | }); |
| | | String str = sb.toString(); |
| | | if (str.endsWith(StringPool.AMPERSAND)){ |
| | | str = str.substring(0,str.length()-1); |
| | | } |
| | | url = url + str; |
| | | } |
| | | return restTemplate.exchange(url, HttpMethod.GET,request,R.class,""); |
| | | } |
| | | |
| | | /** |
| | | * è·åææå·²æ³¨åçæå¡ |
| | | * @return ä¸å
å«é»è®¤æå¡çå
¶ä»æå¡ |
| | | * @throws NacosException |
| | | */ |
| | | public static List<String> getDomain() throws NacosException { |
| | | List<ServiceInfo> services = namingService.getSubscribeServices(); |
| | | Set<String> serviceNames = new HashSet<>(); |
| | | serviceNames.add(AppConstant.APPLICATION_GATEWAY_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_ADMIN_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_AUTH_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_DESK_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_DEVELOP_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_FLOW_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_FLOWDESIGN_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_LOG_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_REPORT_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_SWAGGER_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_SYSTEM_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_TURBINE_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_USER_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_WEBSOCKET_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_ZIPKIN_NAME); |
| | | serviceNames.add(AppConstant.APPLICATION_NAME_OMD); |
| | | return services.stream().map(ServiceInfo::getName).filter(s -> !serviceNames.contains(s)).collect(Collectors.toList()); |
| | | RestTemplate restTemplate = new RestTemplate(); |
| | | String url = "http://" +LauncherConstant.NACOS_DEV_ADDR + "/nacos/v1/ns/service/list?pageNo=1&pageSize=50"; |
| | | String forObject = restTemplate.getForObject(url, String.class); |
| | | JSONObject jsonObject = JSON.parseObject(forObject); |
| | | return (List<String>) jsonObject.get("doms"); |
| | | } |
| | | } |
| | |
| | | List<BtmTypeAttributeVO> checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now); |
| | | |
| | | /** |
| | | * æ¹éæå
¥ |
| | | * @param records æ°æ®å¯¹è±¡éå |
| | | */ |
| | | int batchInsert(List<BtmTypeAttribute> records); |
| | | |
| | | /** |
| | | * ä¸å¡ç±»å䏻鮿¥å±æ§ |
| | | * @param btmTypeOid ä¸å¡ç±»åä¸»é® |
| | | * @return æ¥è¯¢ç»æ |
| | |
| | | import com.vci.ubcs.omd.entity.BtmType; |
| | | import com.vci.ubcs.omd.entity.BtmTypeAttribute; |
| | | import com.vci.ubcs.omd.entity.ModifyAttributeInfo; |
| | | import com.vci.ubcs.omd.vo.BtmTypeTreeVO; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; |
| | | import com.vci.ubcs.omd.vo.LinkTypeVO; |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | R submit(BtmTypeDTO btmTypeDTO,boolean autoCreateTable); |
| | | |
| | | /** |
| | | * ædomainåç»ï¼æ¥è¯¢ä¸å¡ç±»å屿§ç»æ |
| | | * @return æ¥è¯¢ç»æ |
| | | */ |
| | | List<BtmTypeTreeVO> treeDomain(); |
| | | |
| | | /** |
| | | * 仿°æ®åºè¡¨ä¸è·å |
| | | * @param domain é¢åå¼ |
| | | * @return 读åç»æ |
| | | */ |
| | | List<BtmTypeVO> getFromTable(String domain); |
| | | |
| | | /** |
| | | * éæ©æ°æ®åºè¡¨ä¿å为ä¸å¡ç±»å |
| | | * @param btmTypeDTOList 页é¢ä¼ è¾å¯¹è±¡ |
| | | * @param domain é¢å |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | List<BtmTypeVO> saveFromTable(List<BtmTypeDTO> btmTypeDTOList,String domain); |
| | | } |
| | |
| | | @Override |
| | | public AttributeVO getAttributeDetail(Long id) { |
| | | Func.requireNotNull(id,"主é®ä¸è½ä¸ºç©º"); |
| | | return AttributeWrapper.build().entityVO(baseMapper.selectByPrimaryKey(id)); |
| | | return AttributeWrapper.build().entityVO(baseMapper.selectById(id)); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®è±æåç§°éåæ¹éè·å屿§å¯¹è±¡ |
| | |
| | | if (!exists){ |
| | | return null; |
| | | } |
| | | batchInsert(btmTypeAttributeDOList); |
| | | saveBatch(btmTypeAttributeDOList); |
| | | return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList); |
| | | // btmTypeAttributeDOList.stream().forEachOrdered(s -> { |
| | | // btmTypeAttributeDOMapper.insert(s); |
| | |
| | | // }); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * æ¹éæå
¥ |
| | | * |
| | | * @param records æ°æ®å¯¹è±¡éå |
| | | */ |
| | | @Override |
| | | public int batchInsert(List<BtmTypeAttribute> records) { |
| | | return baseMapper.insertBatchSomeColumn(records); |
| | | } |
| | | |
| | | /** |
| | |
| | | package com.vci.ubcs.omd.service.impl; |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.api.exception.NacosException; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; |
| | | import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; |
| | | import com.vci.ubcs.omd.entity.Attribute; |
| | | import com.vci.ubcs.omd.repeater.DomainRepeater; |
| | | import com.vci.ubcs.omd.service.IAttributeService; |
| | | import com.vci.ubcs.omd.service.IBtmTypeAttributeService; |
| | | import com.vci.ubcs.omd.service.IModifyAttributeService; |
| | | import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper; |
| | | import com.vci.ubcs.omd.vo.BtmTypeTreeVO; |
| | | import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; |
| | | import com.vci.ubcs.omd.wrapper.ModifyAttributeWrapper; |
| | | import com.vci.ubcs.starter.web.constant.OmdRegExpConstant; |
| | |
| | | import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; |
| | | import com.vci.ubcs.omd.vo.LinkTypeVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.TransactionDefinition; |
| | | import org.springframework.transaction.TransactionStatus; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.support.DefaultTransactionDefinition; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | |
| | | */ |
| | | @Autowired |
| | | private IModifyAttributeService modifyAttributeService; |
| | | |
| | | /** |
| | | * 屿§çæå¡ |
| | | */ |
| | | @Autowired |
| | | private IAttributeService attributeService; |
| | | |
| | | /** |
| | | * 表ååç¼ |
| | |
| | | public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) { |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * ædomainåç»ï¼æ¥è¯¢ä¸å¡ç±»å屿§ç»æ |
| | | * |
| | | * @return æ¥è¯¢ç»æ |
| | | */ |
| | | @Override |
| | | public List<BtmTypeTreeVO> treeDomain() { |
| | | try { |
| | | List<String> domain = DomainRepeater.getDomain(); |
| | | List<BtmTypeVO> vos = BtmTypeWrapper.build().listEntityVO(baseMapper.selectAll()); |
| | | Map<String, List<BtmTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(BtmTypeVO::getDomain)); |
| | | List<BtmTypeTreeVO> treeList = new ArrayList<>(); |
| | | domainMap.forEach((k,v)-> { |
| | | if (domain.contains(k)){ |
| | | BtmTypeTreeVO parent = new BtmTypeTreeVO(); |
| | | parent.setOid(k); |
| | | parent.setName(k); |
| | | parent.setChildList(v.stream().map(s -> { |
| | | BtmTypeTreeVO child = new BtmTypeTreeVO(); |
| | | child.setOid(s.getOid()); |
| | | child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName())); |
| | | return child; |
| | | }).collect(Collectors.toList())); |
| | | treeList.add(parent); |
| | | } |
| | | }); |
| | | return treeList; |
| | | } catch (NacosException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 仿°æ®åºè¡¨ä¸è·å |
| | | * |
| | | * @param domain é¢åå¼ |
| | | * @return 读åç»æ |
| | | */ |
| | | @Override |
| | | public List<BtmTypeVO> getFromTable(String domain) { |
| | | VciBaseUtil.alertNotNull(domain,"é¢åå¼"); |
| | | try { |
| | | if (!DomainRepeater.getDomain().contains(domain)){ |
| | | return null; |
| | | } |
| | | R result = DomainRepeater.getFromTable(domain); |
| | | if (result.isSuccess()){ |
| | | List<BtmTypeVO> list = new ArrayList<>(); |
| | | Object dataList = result.getData(); |
| | | if (dataList instanceof List){ |
| | | ((List<?>) dataList).forEach(data -> { |
| | | JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(data)); |
| | | list.add(BeanUtil.copy(jsonObject,BtmTypeVO.class)); |
| | | }); |
| | | } |
| | | return list; |
| | | }else { |
| | | return new ArrayList<>(); |
| | | } |
| | | } catch (NacosException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * éæ©æ°æ®åºè¡¨ä¿å为ä¸å¡ç±»å |
| | | * |
| | | * @param btmTypeDTOList 页é¢ä¼ è¾å¯¹è±¡ |
| | | * @param domain é¢å |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public List<BtmTypeVO> saveFromTable(List<BtmTypeDTO> btmTypeDTOList,String domain) { |
| | | // ä¹åå·²ç»åè¿é夿 ¡éªäºï¼è¿è¾¹ç´æ¥æ§è¡ä¿åé»è¾å³å¯ |
| | | List<BtmType> btmList = new ArrayList<>(); |
| | | List<BtmTypeAttribute> btmTypeAttributes = new ArrayList<>(); |
| | | Map<String,Attribute> idAttrMap = new HashMap<>(); |
| | | // æ ¡éªå±æ§æ¯å¦åå¨ |
| | | Set<String> attributeIds = new HashSet<>(); |
| | | Date now = new Date(); |
| | | String user = AuthUtil.getUserAccount(); |
| | | btmTypeDTOList.stream().forEach(dto -> { |
| | | BtmType btmType = Objects.requireNonNull(BeanUtil.copy(dto, BtmType.class)); |
| | | btmType.setOid(VciBaseUtil.getPk()); |
| | | btmType.setTs(now); |
| | | btmType.setCreator(user); |
| | | btmType.setBtmName("btmType"); |
| | | btmType.setCreateTime(now); |
| | | btmType.setDomain(domain); |
| | | btmType.setLastModifyTime(now); |
| | | btmType.setLastModifier(user); |
| | | btmType.setName(dto.getDescription()); |
| | | Set<String> ids = dto.getAttributes().stream().filter(s -> { |
| | | return ! (BtmTypeFieldConstant.BASIC_FIELD_MAP.containsKey(s.getId()) |
| | | || BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(s.getId()) |
| | | || BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.containsKey(s.getId()) |
| | | || BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.containsKey(s.getId()) |
| | | ); |
| | | }).map(attr -> { |
| | | // æ·»å 屿§ï¼1æ¯æ ¡éªï¼2æ¯æ·»å |
| | | Attribute attribute = new Attribute(); |
| | | attribute.setKey(attr.getId()); |
| | | attribute.setLabel(attr.getName()); |
| | | attribute.setDictKey(attr.getAttrDataType()); |
| | | attribute.setMaxLength(attr.getAttributeLength()); |
| | | attribute.setPrecision(attr.getPrecisionLength()); |
| | | attribute.setDescription(attr.getDescription()); |
| | | attribute.setDefaultValue(attr.getDefaultValue()); |
| | | attribute.setNullable(String.valueOf(attr.isNullableFlag())); |
| | | attribute.setHashtag(attr.getDescription()); |
| | | attribute.setReferToId(attr.getReferBtmTypeId()); |
| | | attribute.setReferToName(attr.getReferBtmTypeName()); |
| | | attribute.setTs(now); |
| | | attribute.setCreateTime(now); |
| | | attribute.setCreateUser(AuthUtil.getUserId()); |
| | | idAttrMap.put(attribute.getKey(),attribute); |
| | | // å¨è¿éç»ä¸å¡ç±»åè®¾ç½®çæ¬æ§å¶ãçå½å¨ææ§å¶ãå¯çº§æ§å¶ç¸å
³çä¿¡æ¯ |
| | | |
| | | // æ·»å ä¸å¡ç±»åå屿§çå
³ç³» |
| | | BtmTypeAttribute btmTypeAttribute = Objects.requireNonNull(BeanUtil.copy(attr, BtmTypeAttribute.class)); |
| | | btmTypeAttribute.setPkBtmType(btmType.getOid()); |
| | | btmTypeAttribute.setCreator(user); |
| | | btmTypeAttribute.setCreateTime(now); |
| | | btmTypeAttribute.setLastModifier(user); |
| | | btmTypeAttribute.setLastModifyTime(now); |
| | | // btmTypeAttribute.setBtmName("btmTypeAttribute"); |
| | | btmTypeAttribute.setOid(VciBaseUtil.getPk()); |
| | | btmTypeAttribute.setBtmName(btmType.getId()); |
| | | btmTypeAttribute.setOwner(user); |
| | | btmTypeAttributes.add(btmTypeAttribute); |
| | | return attr; |
| | | }).map(BtmTypeLinkAttributesDTO::getId).collect(Collectors.toSet()); |
| | | attributeIds.addAll(ids); |
| | | btmType.setLifeCycleFlag(String.valueOf(ids.stream().anyMatch(BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP::containsKey))); |
| | | btmType.setRevisionFlag(String.valueOf(ids.stream().anyMatch(BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP::containsKey))); |
| | | btmType.setSecretFlag(String.valueOf(ids.stream().anyMatch(BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP::containsKey))); |
| | | btmType.setConsistence(BooleanEnum.TRUE.getValue()); |
| | | btmList.add(btmType); |
| | | }); |
| | | List<Attribute> existAttr = attributeService.list(Wrappers.<Attribute>query().lambda().in(Attribute::getKey, attributeIds)); |
| | | if (!CollectionUtils.isEmpty(btmList)){ |
| | | baseMapper.batchInsert(btmList); |
| | | } |
| | | if (!CollectionUtils.isEmpty(btmTypeAttributes)){ |
| | | btmTypeAttributeService.saveBatch(btmTypeAttributes); |
| | | } |
| | | BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((k,v) -> { |
| | | idAttrMap.remove(k); |
| | | }); |
| | | BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((k,v) -> { |
| | | idAttrMap.remove(k); |
| | | }); |
| | | BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.forEach((k,v) -> { |
| | | idAttrMap.remove(k); |
| | | }); |
| | | BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((k,v) -> { |
| | | idAttrMap.remove(k); |
| | | }); |
| | | if (CollectionUtils.isEmpty(existAttr)){ |
| | | attributeService.saveBatch(idAttrMap.values()); |
| | | }else { |
| | | List<Attribute> addList = idAttrMap.values().stream().filter(a -> existAttr.stream().noneMatch(b -> StringUtils.equals(a.getKey(), b.getKey()))).collect(Collectors.toList()); |
| | | if (CollectionUtils.isEmpty(addList)) { |
| | | attributeService.saveBatch(addList); |
| | | } |
| | | } |
| | | return BtmTypeWrapper.build().listEntityVO(btmList); |
| | | } |
| | | } |
| | |
| | | */ |
| | | public BtmType entityBeforeSave(BtmType btmTypeDO) { |
| | | btmTypeDO.setOid(VciBaseUtil.getPk()); |
| | | btmTypeDO.setBtmname("btmType"); |
| | | btmTypeDO.setBtmName("btmType"); |
| | | Date now = new Date(); |
| | | String userAccount = AuthUtil.getUserAccount(); |
| | | btmTypeDO.setLastModifier(userAccount); |
| | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="baseResultMap" type="com.vci.ubcs.omd.entity.Attribute"> |
| | | <id column="id" property="id"/> |
| | | <result column="create_user" property="createUser"/> |
| | | <result column="create_dept" property="createDept"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_user" property="updateUser"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="status" property="status"/> |
| | | <result column="is_deleted" property="isDeleted"/> |
| | | <result column="tenant_id" property="tenantId"/> |
| | | <result column="key" property="key"/> |
| | | <result column="label" property="label"/> |
| | | <result column="create_user" property="createUser" jdbcType="NUMERIC"/> |
| | | <result column="create_dept" property="createDept" jdbcType="NUMERIC"/> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> |
| | | <result column="update_user" property="updateUser" jdbcType="NUMERIC"/> |
| | | <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> |
| | | <result column="status" property="status" jdbcType="NUMERIC"/> |
| | | <result column="is_deleted" property="isDeleted" jdbcType="NUMERIC"/> |
| | | <result column="tenant_id" property="tenantId" jdbcType="NUMERIC"/> |
| | | <result column="key" property="key" jdbcType="VARCHAR"/> |
| | | <result column="label" property="label" jdbcType="VARCHAR"/> |
| | | <result column="type_code" property="typeCode"/> |
| | | <result column="type_key" property="typeKey"/> |
| | | <result column="hashtag" property="hashtag" jdbcType="VARCHAR"/> |
| | | <result column="description" property="description" jdbcType="VARCHAR"/> |
| | | <result column="nullable" property="nullable"/> |
| | | <result column="max_length" property="maxLength"/> |
| | | <result column="precision" property="precision"/> |
| | | <result column="refer_type_code" property="referTypeCode"/> |
| | | <result column="refer_type_key" property="referTypeKey"/> |
| | | <result column="refer_to_id" property="referToId" jdbcType="VARCHAR"/> |
| | | <result column="refer_to_name" property="referToName"/> |
| | | <result column="using_dict" property="usingDict"/> |
| | | <result column="dict_code" property="dictCode"/> |
| | | <result column="dict_key" property="dictKey"/> |
| | | <result column="default_value" property="defaultValue"/> |
| | | <result column="status" property="status"/> |
| | | <result column="is_deleted" property="isDeleted"/> |
| | | <result column="create_user" property="createUser" jdbcType="VARCHAR"/> |
| | | <result column="create_dept" property="createDept" jdbcType="VARCHAR"/> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> |
| | | <result column="update_user" property="updateUser" jdbcType="VARCHAR"/> |
| | | <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> |
| | | <result column="ts" property="ts" jdbcType="TIMESTAMP"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="extraResultMap" type="com.vci.ubcs.omd.entity.Attribute"> |
| | | <result column="nullable" property="nullable" jdbcType="VARCHAR"/> |
| | | <result column="max_length" property="maxLength" jdbcType="NUMERIC"/> |
| | | <result column="precision" property="precision" jdbcType="NUMERIC"/> |
| | | <result column="refer_to_id" property="referToId" jdbcType="NUMERIC"/> |
| | | <result column="refer_type_code" property="referTypeCode" jdbcType="VARCHAR"/> |
| | | <result column="refer_type_key" property="referTypeKey" jdbcType="VARCHAR"/> |
| | | <result column="refer_to_name" property="referToName" jdbcType="VARCHAR"/> |
| | | <!-- <result column="using_dict" property="usingDict" jdbcType="VARCHAR"/>--> |
| | | <!-- <result column="dict_code" property="dictCode" jdbcType="VARCHAR"/>--> |
| | | <!-- <result column="dict_key" property="dictKey" jdbcType="VARCHAR"/>--> |
| | | <result column="default_value" property="defaultValue" jdbcType="VARCHAR"/> |
| | | |
| | | </resultMap> |
| | | |
| | | |
| | | <sql id="base_query_column"> |
| | | id, tenant_id ,key ,label ,type_code , type_key , hashtag , description, nullable , max_length, precision, |
| | | refer_type_code, refer_type_key, refer_to_id, refer_to_name, using_dict, dict_code, dict_key, default_value, |
| | | status, is_deleted, create_user, create_dept, create_time, update_user, update_time , ts |
| | | </sql> |
| | | <sql id="tableName"> |
| | | pl_omd_attribute |
| | | </sql> |
| | | <select id="selectAll" resultMap="baseResultMap"> |
| | | select |
| | | <include refid="base_query_column"/> |
| | | from |
| | | <include refid="tableName"/> |
| | | </select> |
| | | <select id="selectByPrimaryKeyCollection" resultMap="baseResultMap"> |
| | | select DISTINCT <include refid="base_query_column" /> |
| | | from <include refid="tableName"/> |
| | | <where> |
| | | <foreach collection="oids" item="item" index="arrayindex" open=" OID in ( " close=")" > |
| | | #{item,jdbcType=VARCHAR} |
| | | <if test="(arrayindex != oids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </where> |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.vci.ubcs.omd.mapper.BtmTypeAttributeMapper"> |
| | | |
| | | <resultMap id="base_result_map" type="com.vci.ubcs.omd.entity.BtmTypeAttribute"> |
| | | <id column="oid" jdbcType="VARCHAR" property="oid"/> |
| | | <result column="id" jdbcType="VARCHAR" property="id"/> |
| | | <result column="name" jdbcType="VARCHAR" property="name"/> |
| | | <result column="description" jdbcType="VARCHAR" property="description"/> |
| | | <result column="pk_btm_type" jdbcType="VARCHAR" property="pkBtmType"/> |
| | | <result column="attribute_length" jdbcType="DECIMAL" property="attributeLength"/> |
| | | <result column="attr_data_type" jdbcType="VARCHAR" property="attrDataType"/> |
| | | <result column="nullable_flag" jdbcType="VARCHAR" property="nullableFlag"/> |
| | | <result column="default_value" jdbcType="VARCHAR" property="defaultValue"/> |
| | | <result column="precision_length" jdbcType="DECIMAL" property="precisionLength"/> |
| | | <result column="scale_length" property="scaleLength" jdbcType="DECIMAL"/> |
| | | <result column="range" jdbcType="VARCHAR" property="range"/> |
| | | <result column="refer_btm_type_id" jdbcType="VARCHAR" property="referBtmTypeId"/> |
| | | <result column="refer_btm_type_name" jdbcType="VARCHAR" property="referBtmTypeName"/> |
| | | <result column="enum_id" jdbcType="VARCHAR" property="enumId"/> |
| | | <result column="enum_name" jdbcType="VARCHAR" property="enumName"/> |
| | | <result column="btm_name" property="btmName" jdbcType="VARCHAR"/> |
| | | <result column="owner" property="owner" jdbcType="VARCHAR"/> |
| | | <result column="creator" jdbcType="VARCHAR" property="creator"/> |
| | | <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> |
| | | <result column="last_modifier" jdbcType="VARCHAR" property="lastModifier"/> |
| | | <result column="last_modify_time" jdbcType="TIMESTAMP" property="lastModifyTime"/> |
| | | <result column="ts" jdbcType="TIMESTAMP" property="ts"/> |
| | | </resultMap> |
| | | |
| | | <sql id="base_query_column"> |
| | | oid, id, name, description, pk_btm_type, attribute_length, attr_data_type, nullable_flag, |
| | | default_value, precision_length, scale_length, range, refer_btm_type_id, refer_btm_type_name, |
| | | enum_id, enum_name, btm_name, owner, creator, create_time, last_modifier, last_modify_time, ts |
| | | </sql> |
| | | |
| | | <sql id="tableName"> |
| | | pl_omd_btm_type_attribute |
| | | </sql> |
| | | <sql id="btmTypeTableName"> |
| | | pl_omd_btm_type |
| | | </sql> |
| | | <update id="batchUpdate" parameterType="java.util.List"> |
| | | <foreach collection="records" item="item" index="index" open="begin" close=";end;" separator=";"> |
| | | update <include refid="tableName"/> set |
| | | id = #{item.id,jdbcType=VARCHAR}, |
| | | name = #{item.name,jdbcType=VARCHAR}, |
| | | descrption = #{item.decription,jdbcType=VARCHAR}, |
| | | pk_btm_type = #{item.pkBtmType,jdbcType=VARCHAR}, |
| | | attribute_length = #{item.attributeLength,jdbcType=DECIMAL}, |
| | | attr_data_type = #{item.attrDataType,jdbcType=VARCHAR}, |
| | | nullable_flag = #{item.nullableFlag,jdbcType=VARCHAR}, |
| | | default_value = #{item.defaultValue,jdbcType=VARCHAR}, |
| | | precision_length = #{item.precisionLength,jdbcType=DECIMAL}, |
| | | scale_length = #{item.scaleLength,jdbcType=DECIMAL}, |
| | | range = #{item.range,jdbcType=VARCHAR}, |
| | | refer_btm_type_id = #{item.referBtmTypeId,jdbcType=VARCHAR}, |
| | | refer_btm_type_name = #{item.referBtmTypeName,jdbcType=VARCHAR}, |
| | | enum_id = #{item.enumId,jdbcType=VARCHAR}, |
| | | enum_name = #{item.enumName,jdbcType=VARCHAR}, |
| | | btm_name = #{item.btmName,jdbcType=VARCHAR}, |
| | | owner = #{item.owner,jdbcType=VARCHAR}, |
| | | creator = #{item.creator,jdbcType=VARCHAR}, |
| | | create_time = #{item.createTime,jdbcType=TIMESTAMP}, |
| | | last_modifier = #{item.lastModifier,jdbcType=VARCHAR}, |
| | | last_modify_time = #{item.lastModifyTime,jdbcType=TIMESTAMP}, |
| | | ts = #{item.ts,jdbcType=TIMESTAMP} |
| | | </foreach> |
| | | </update> |
| | | <delete id="batchDelete"> |
| | | delete from |
| | | <include refid="tableName"/> |
| | | <where> |
| | | <foreach collection="records" item="item" index="arrayindex" open="oid in (" close=")"> |
| | | #{item,jdbcType=VARCHAR} |
| | | <if test="(arrayindex != records.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </where> |
| | | </delete> |
| | | <select id="selectByBtmTypeIdAndAttributeIds" resultType="com.vci.ubcs.omd.entity.BtmTypeAttribute"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> |
| | | where PKBTMTYPE = (select oid from <include refid="btmTypeTableName"/> where lower(id) = lower(#{btmTypeId,jdbcType=VARCHAR}) ) |
| | | <if test="ids.size() > 0"> |
| | | and |
| | | <foreach collection="ids" item="item" index="arrayindex" open=" lower(ID) in ( " close=")" > |
| | | lower(#{item,jdbcType=VARCHAR}) |
| | | <if test="(arrayindex != ids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | <select id="selectByBtmTypeIds" resultType="com.vci.ubcs.omd.entity.BtmTypeAttribute"> |
| | | select DISTINCT <include refid="base_query_column" /> |
| | | from <include refid="tableName" /> |
| | | where PKBTMTYPE IN ( |
| | | select oid from <include refid="btmTypeTableName"/> where |
| | | <foreach collection="ids" item="item" index="arrayindex" open=" lower(ID) in ( " close=")" > |
| | | lower(#{item,jdbcType=VARCHAR}) |
| | | <if test="(arrayindex != ids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | ) |
| | | order by id asc |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.vci.ubcs.omd.mapper.BtmTypeMapper"> |
| | | |
| | | |
| | | <resultMap id="BaseResultMap" type="com.vci.ubcs.omd.entity.BtmType"> |
| | | <id column="oid" jdbcType="VARCHAR" property="oid" /> |
| | | <result column="id" jdbcType="VARCHAR" property="id" /> |
| | | <result column="name" jdbcType="VARCHAR" property="name" /> |
| | | <result column="description" jdbcType="VARCHAR" property="description" /> |
| | | <result column="table_name" jdbcType="VARCHAR" property="tableName" /> |
| | | <result column="revision_rule_id" jdbcType="VARCHAR" property="revisionRuleId" /> |
| | | <result column="revision_rule_name" jdbcType="VARCHAR" property="revisionRuleName" /> |
| | | <result column="revision_sep" jdbcType="VARCHAR" property="revisionSep" /> |
| | | <result column="revision_flag" jdbcType="VARCHAR" property="revisionFlag" /> |
| | | <result column="input_revision_flag" jdbcType="VARCHAR" property="inputRevisionFlag" /> |
| | | <result column="secret_flag" jdbcType="VARCHAR" property="secretFlag" /> |
| | | <result column="abstract_flag" jdbcType="VARCHAR" property="abstractFlag" /> |
| | | <result column="impl_class" jdbcType="VARCHAR" property="implClass" /> |
| | | <result column="shape" jdbcType="VARCHAR" property="shape" /> |
| | | <result column="life_cycle_flag" jdbcType="VARCHAR" property="lifeCycleFlag" /> |
| | | <result column="life_cycle_id" jdbcType="VARCHAR" property="lifeCycleId" /> |
| | | <result column="life_cycle_name" jdbcType="VARCHAR" property="lifeCycleName" /> |
| | | <result column="version_rule" jdbcType="VARCHAR" property="versionRule" /> |
| | | <result column="sub_life_cycle_id" jdbcType="VARCHAR" property="subLifeCycleId" /> |
| | | <result column="sub_life_cycle_name" jdbcType="VARCHAR" property="subLifeCycleName" /> |
| | | <result column="view_flag" jdbcType="VARCHAR" property="viewFlag" /> |
| | | <result column="view_create_sql" jdbcType="VARCHAR" property="viewCreateSql" /> |
| | | <result column="btm_name" property="btmName" jdbcType="VARCHAR" /> |
| | | <result column="owner" property="owner" jdbcType="VARCHAR" /> |
| | | <result column="creator" jdbcType="VARCHAR" property="creator" /> |
| | | <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
| | | <result column="last_modifier" jdbcType="VARCHAR" property="lastModifier" /> |
| | | <result column="last_modify_time" jdbcType="TIMESTAMP" property="lastModifyTime" /> |
| | | <result column="ts" jdbcType="TIMESTAMP" property="ts" /> |
| | | <result column="domain" jdbcType="VARCHAR" property="domain" /> |
| | | <result column="consistence" jdbcType="VARCHAR" property="consistence" /> |
| | | </resultMap> |
| | | |
| | | <sql id="base_query_column"> |
| | | oid, id, name, description, table_name, revision_rule_id, revision_rule_name,revision_flag, |
| | | revision_sep, input_revision_flag, secret_flag, abstract_flag, impl_class, shape,life_cycle_flag, life_cycle_id,life_cycle_name, |
| | | version_rule,sub_life_cycle_id,sub_life_cycle_name, view_flag, view_create_sql,btm_name, owner, creator, create_time, last_modifier, |
| | | last_modify_time, ts,domain,consistence |
| | | </sql> |
| | | <sql id="tableName"> |
| | | pl_omd_btm_type |
| | | </sql> |
| | | <insert id="batchInsert" useGeneratedKeys="false"> |
| | | insert into <include refid="tableName"/> ( |
| | | <include refid="base_query_column"/> |
| | | ) |
| | | <foreach collection="records" item="item" separator="union all"> |
| | | ( |
| | | select #{item.oid,jdbcType=VARCHAR}, |
| | | #{item.id,jdbcType=VARCHAR}, |
| | | #{item.name,jdbcType=VARCHAR}, |
| | | #{item.description,jdbcType=VARCHAR}, |
| | | #{item.tableName,jdbcType=VARCHAR}, |
| | | #{item.revisionRuleId,jdbcType=VARCHAR}, |
| | | #{item.revisionRuleName,jdbcType=VARCHAR}, |
| | | #{item.revisionFlag,jdbcType=VARCHAR}, |
| | | #{item.revisionSep,jdbcType=VARCHAR}, |
| | | #{item.inputRevisionFlag,jdbcType=VARCHAR}, |
| | | #{item.secretFlag,jdbcType=VARCHAR}, |
| | | #{item.abstractFlag,jdbcType=VARCHAR}, |
| | | #{item.implClass,jdbcType=VARCHAR}, |
| | | #{item.shape,jdbcType=VARCHAR}, |
| | | #{item.lifeCycleFlag,jdbcType=VARCHAR}, |
| | | #{item.lifeCycleId,jdbcType=VARCHAR}, |
| | | #{item.lifeCycleName,jdbcType=VARCHAR}, |
| | | #{item.versionRule,jdbcType=VARCHAR}, |
| | | #{item.subLifeCycleId,jdbcType=VARCHAR}, |
| | | #{item.subLifeCycleName,jdbcType=VARCHAR}, |
| | | #{item.viewFlag,jdbcType=VARCHAR}, |
| | | #{item.viewCreateSql,jdbcType=VARCHAR}, |
| | | #{item.btmName,jdbcType=VARCHAR }, |
| | | #{item.owner,jdbcType=VARCHAR }, |
| | | #{item.creator,jdbcType=VARCHAR}, |
| | | #{item.createTime,jdbcType=TIMESTAMP}, |
| | | #{item.lastModifier,jdbcType=VARCHAR}, |
| | | #{item.lastModifyTime,jdbcType=TIMESTAMP}, |
| | | #{item.ts,jdbcType=TIMESTAMP}, |
| | | #{item.domain,jdbcType=VARCHAR}, |
| | | #{item.consistence,jdbcType=VARCHAR} |
| | | from dual |
| | | ) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> |
| | | delete from <include refid="tableName"/> |
| | | where OID = #{oid,jdbcType=VARCHAR} |
| | | </delete> |
| | | |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> |
| | | where OID = #{oid,jdbcType=VARCHAR} |
| | | </select> |
| | | |
| | | <select id="selectByPrimaryKeys" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column" /> |
| | | from <include refid="tableName" /> |
| | | where OID in ( ${oids,jdbcType=VARCHAR}) |
| | | </select> |
| | | |
| | | <select id="selectByPrimaryKeyCollection" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column" /> |
| | | from <include refid="tableName" /> |
| | | <where> |
| | | <foreach collection="oids" item="item" index="arrayindex" open=" OID in ( " close=")" > |
| | | #{item,jdbcType=VARCHAR} |
| | | <if test="(arrayindex != oids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectByIdCollection" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column" /> |
| | | from <include refid="tableName" /> |
| | | <where> |
| | | <foreach collection="ids" item="item" index="arrayindex" open=" lower(ID) in ( " close=")" > |
| | | lower(#{item,jdbcType=VARCHAR}) |
| | | <if test="(arrayindex != ids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectAll" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> |
| | | </select> |
| | | |
| | | <update id="updateByPrimaryKey" parameterType="com.vci.ubcs.omd.entity.BtmType"> |
| | | update <include refid="tableName"/> |
| | | set id = #{id,jdbcType=VARCHAR}, |
| | | name = #{name,jdbcType=VARCHAR}, |
| | | description = #{description,jdbcType=VARCHAR}, |
| | | table_name = #{tableName,jdbcType=VARCHAR}, |
| | | revision_rule_id = #{revisionRuleId,jdbcType=VARCHAR}, |
| | | revision_flag = #{revisionFlag,jdbcType=VARCHAR}, |
| | | revision_rule_name = #{revisionRuleName,jdbcType=VARCHAR}, |
| | | revision_sep = #{revisionSep,jdbcType=VARCHAR}, |
| | | input_revision_flag = #{inputRevisionFlag,jdbcType=VARCHAR}, |
| | | secret_flag = #{secretFlag,jdbcType=VARCHAR}, |
| | | abstract_flag = #{abstractFlag,jdbcType=VARCHAR}, |
| | | impl_class = #{implClass,jdbcType=VARCHAR}, |
| | | shape = #{shape,jdbcType=VARCHAR}, |
| | | life_cycle_flag = #{lifeCycleFlag,jdbcType=VARCHAR}, |
| | | life_cycle_id = #{lifeCycleId,jdbcType=VARCHAR}, |
| | | life_cycle_name = #{lifeCycleName,jdbcType=VARCHAR}, |
| | | version_rule = #{versionRule,jdbcType=VARCHAR}, |
| | | sub_life_cycle_id = #{subLifeCycleId,jdbcType=VARCHAR}, |
| | | sub_life_cycle_name = #{subLifeCycleName,jdbcType=VARCHAR}, |
| | | view_flag = #{viewFlag,jdbcType=VARCHAR}, |
| | | view_create_sql = #{viewCreateSql,jdbcType=VARCHAR}, |
| | | btm_name =#{btmName,jdbcType=VARCHAR }, |
| | | owner = #{owner,jdbcType=VARCHAR }, |
| | | creator = #{creator,jdbcType=VARCHAR}, |
| | | create_time = #{createTime,jdbcType=TIMESTAMP}, |
| | | last_modifier = #{lastModifier,jdbcType=VARCHAR}, |
| | | last_modify_time = #{lastModifyTime,jdbcType=TIMESTAMP}, |
| | | ts = #{ts,jdbcType=TIMESTAMP}, |
| | | domain = #{domain,jdbcType=VARCHAR}, |
| | | consistence = #{consistence,jdbcType=VARCHAR} |
| | | where OID = #{oid,jdbcType=VARCHAR} |
| | | </update> |
| | | |
| | | |
| | | <select id="selectNameByOid" resultType="java.lang.String"> |
| | | select NAME from <include refid="tableName" /> |
| | | where OID = #{oid,jdbcType=VARCHAR} |
| | | </select> |
| | | <select id="selectNameById" resultType="java.lang.String"> |
| | | select NAME from <include refid="tableName" /> |
| | | where ID = #{id,jdbcType=VARCHAR} |
| | | </select> |
| | | |
| | | |
| | | <select id="selectByAttributeOid" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> where oid in ( |
| | | select DISTINCT PKBTMTYPE from <include refid="tableName"/>ATTRIBUTE |
| | | where lower(ATTRIBUTEID) in (select id from vcibt_ATTRIBUTE where oid = #{pkAttribute,jdbcType=VARCHAR} ) ) |
| | | </select> |
| | | |
| | | |
| | | <select id="selectByRevisionRuleOid" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> where REVISIONRULEID in |
| | | (select DISTINCT id from vcibt_REVISIONRULE where oid = #{pkRevisionRule,jdbcType=VARCHAR} ) |
| | | </select> |
| | | |
| | | |
| | | <select id="selectByLifeCycleOid" resultMap="BaseResultMap"> |
| | | select <include refid="base_query_column"/> |
| | | from <include refid="tableName" /> where LIFECYCLEID in |
| | | (select DISTINCT id from vcibt_LIFECYCLE where oid = #{pkLifeCycle,jdbcType=VARCHAR} ) |
| | | </select> |
| | | |
| | | <delete id="batchDeleteByOids" > |
| | | delete from <include refid="tableName" /> |
| | | <where> |
| | | <foreach collection="oids" item="item" index="arrayindex" open=" oid in ( " close=")" > |
| | | #{item,jdbcType=VARCHAR} |
| | | <if test="(arrayindex != oids.size() -1)"> |
| | | , |
| | | </if> |
| | | </foreach> |
| | | </where> |
| | | </delete> |
| | | |
| | | |
| | | |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.vci.ubcs.omd.mapper.ModifyAttributeInfoMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="baseResultMap" type="com.vci.ubcs.omd.entity.ModifyAttributeInfo"> |
| | | <id column="oid" property="oid" jdbcType="VARCHAR" /> |
| | | <result column="id" property="id" jdbcType="VARCHAR" /> |
| | | <result column="name" property="name" jdbcType="VARCHAR" /> |
| | | <result column="description" property="description" jdbcType="VARCHAR" /> |
| | | <result column="business_type" property="businessType" jdbcType="VARCHAR" /> |
| | | <result column="table_name" property="tableName" jdbcType="VARCHAR" /> |
| | | <result column="task_name" property="taskName" jdbcType="VARCHAR" /> |
| | | <result column="modify_column_reason" property="modifyColumnReason" jdbcType="VARCHAR" /> |
| | | <result column="order_modify_user_name" property="orderModifyUserName" jdbcType="VARCHAR" /> |
| | | <result column="order_modify_date" property="orderModifyDate" jdbcType="TIMESTAMP" /> |
| | | <result column="handle_finish_flag" property="handleFinishFlag" jdbcType="VARCHAR" /> |
| | | <result column="handle_user_name" property="handleUserName" jdbcType="VARCHAR" /> |
| | | <result column="handle_date" property="handleDate" jdbcType="TIMESTAMP" /> |
| | | <result column="handle_result" property="handleResult" jdbcType="VARCHAR" /> |
| | | <result column="btm_name" property="btmname" jdbcType="VARCHAR" /> |
| | | <result column="creator" property="creator" jdbcType="VARCHAR" /> |
| | | <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> |
| | | <result column="TS" property="ts" jdbcType="TIMESTAMP" /> |
| | | <result column="add_attributes" property="addAttributes" jdbcType="CLOB" /> |
| | | <result column="modify_attributes" property="modifyAttributes" jdbcType="CLOB" /> |
| | | <result column="delete_attributes" property="deleteAttributes" jdbcType="CLOB" /> |
| | | <result column="before_modify_attributes" property="beforeModifyAttributes" jdbcType="CLOB" /> |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="extraResultMap" type="com.vci.ubcs.omd.entity.Attribute"> |
| | | |
| | | </resultMap> |
| | | |
| | | <sql id="base_query_column"> |
| | | oid, id, name, description, business_type, table_name, task_name, modify_column_reason, order_modify_user_name, |
| | | order_modify_date, handle_finish_flag, handle_user_name, handle_date, handle_result, btm_name, creator, create_time, |
| | | ts, add_attributes, modify_attributes, delete_attributes, before_modify_attributes |
| | | </sql> |
| | | <sql id="tableName"> |
| | | pl_omd_modify_attribute_info |
| | | </sql> |
| | | |
| | | |
| | | |
| | | </mapper> |