| @@ -164,7 +164,10 @@ | |||||
| <v-data-table | <v-data-table | ||||
| :items='allCols[item.value]' | :items='allCols[item.value]' | ||||
| :headers='headers' | :headers='headers' | ||||
| hide-default-footer | |||||
| :height="fullHeight*7/9" | |||||
| fixed-header | |||||
| :footer-props="{'items-per-page-options': [30, 40, 50, 60]}" | |||||
| :items-per-page="30" | |||||
| > | > | ||||
| <template v-slot:item.isselect='{ item }'> | <template v-slot:item.isselect='{ item }'> | ||||
| {{item.isselect === 'true' ? '選項':'文字'}} | {{item.isselect === 'true' ? '選項':'文字'}} | ||||
| @@ -179,92 +182,12 @@ | |||||
| {{item.isselect === 'true' ? '是':'否'}} | {{item.isselect === 'true' ? '是':'否'}} | ||||
| </template> | </template> | ||||
| <template v-slot:item.actions='{ item }'> | <template v-slot:item.actions='{ item }'> | ||||
| <!--修改資產群駔欄位對話--> | |||||
| <v-dialog | |||||
| v-model='dialogModify' | |||||
| @click:outside='close' | |||||
| :retain-focus="false" | |||||
| overlay-opacity="0" | |||||
| <v-btn | |||||
| icon | |||||
| @click='openDialogModifyCol(item)' | |||||
| > | > | ||||
| <template v-slot:activator='{ on, attrs }'> | |||||
| <v-btn | |||||
| v-bind='attrs' | |||||
| v-on='on' | |||||
| icon | |||||
| @click='modifyColItem = JSON.parse(JSON.stringify(item))' | |||||
| > | |||||
| <v-icon>mdi-pencil</v-icon> | |||||
| </v-btn> | |||||
| </template> | |||||
| <v-card> | |||||
| <v-card-title> | |||||
| <span class='headline font-weight-bold'>修改欄位</span> | |||||
| </v-card-title> | |||||
| <v-card-text> | |||||
| <v-container> | |||||
| <v-row> | |||||
| <v-col | |||||
| v-for='(header, index) in headers' | |||||
| :key='index' | |||||
| cols='12' | |||||
| sm='6' | |||||
| md='4' | |||||
| class='d-flex' | |||||
| > | |||||
| <v-text-field | |||||
| v-if="header.text !== '' && header.value !== 'isselect' && isBooleanCol.indexOf(header.value) < 0" | |||||
| :label='header.text' | |||||
| :value="modifyColItem[header.value]" | |||||
| hint='必填' | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| /> | |||||
| <v-select | |||||
| v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0" | |||||
| :label='header.text' hint='必填' | |||||
| :value="modifyColItem[header.value]" | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| :items="selectColItem.isselect" | |||||
| :item-text="selectColItem.isselect.text" | |||||
| :item-value="selectColItem.isselect.value" | |||||
| /> | |||||
| <v-select | |||||
| v-if="header.value && isBooleanCol.indexOf(header.value) >= 0" | |||||
| :label='header.text' hint='必填' | |||||
| :value="modifyColItem[header.value]" | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| :items="selectColItem.boolean" | |||||
| :item-text="selectColItem.boolean.text" | |||||
| :item-value="selectColItem.boolean.value" | |||||
| /> | |||||
| <v-btn | |||||
| v-if="header.value === 'isselect' && modifyColItem.isselect === 'true'" | |||||
| @click='dialogModifySelectItem = true' | |||||
| > | |||||
| 編輯選項 | |||||
| </v-btn> | |||||
| </v-col> | |||||
| </v-row> | |||||
| </v-container> | |||||
| </v-card-text> | |||||
| <v-card-actions> | |||||
| <v-spacer></v-spacer> | |||||
| <v-btn | |||||
| color='blue darken-1' | |||||
| text | |||||
| @click='close' | |||||
| > | |||||
| 取消 | |||||
| </v-btn> | |||||
| <v-btn | |||||
| color='blue darken-1' | |||||
| text | |||||
| @click='modifyCol' | |||||
| > | |||||
| 修改 | |||||
| </v-btn> | |||||
| </v-card-actions> | |||||
| </v-card> | |||||
| </v-dialog> | |||||
| <v-icon>mdi-pencil</v-icon> | |||||
| </v-btn> | |||||
| <v-icon | <v-icon | ||||
| small | small | ||||
| @click='deleteCol(item)' | @click='deleteCol(item)' | ||||
| @@ -358,45 +281,114 @@ | |||||
| </v-card-actions> | </v-card-actions> | ||||
| </v-card> | </v-card> | ||||
| </v-dialog> | </v-dialog> | ||||
| <!--新增資產群組欄位選項對話--> | |||||
| <v-dialog | |||||
| width="40%" | |||||
| v-model='dialogInsertSelectItem' | |||||
| @click:outside='closeDialogInsertSelectItem' | |||||
| :retain-focus="false" | |||||
| overlay-opacity="0" | |||||
| > | |||||
| <v-card> | |||||
| <v-card-title> | |||||
| <span class='headline font-weight-bold'>編輯選項</span> | |||||
| </v-card-title> | |||||
| <v-card-text> | |||||
| <v-container> | |||||
| <v-row> | |||||
| <v-col cols="11" class="d-flex align-center"> | |||||
| <v-text-field outlined rounded hide-details | |||||
| v-model="insertSelectItem"/> | |||||
| <v-btn class="ml-2" @click='pushInsertSelectItem'>新增</v-btn> | |||||
| </v-col> | |||||
| </v-row> | |||||
| <v-card class="mt-2 col-10" | |||||
| style="border: 1px solid grey;min-height: 500px;border-radius: 10px"> | |||||
| <v-chip | |||||
| v-for="(insertSelectItem, index) in insertSelectItems" | |||||
| :key="index" | |||||
| class="col-12 my-1" | |||||
| color="secondary" | |||||
| > | |||||
| {{insertSelectItem}} | |||||
| <v-icon small class="ml-4" @click="deleteInsertSelectItem(index)">mdi-close | |||||
| </v-icon> | |||||
| </v-chip> | |||||
| </v-card> | |||||
| </v-container> | |||||
| </v-card-text> | |||||
| <v-card-actions> | |||||
| <v-spacer></v-spacer> | |||||
| <v-btn | |||||
| color='blue darken-1' | |||||
| text | |||||
| @click='closeDialogInsertSelectItem' | |||||
| > | |||||
| 關閉 | |||||
| </v-btn> | |||||
| </v-card-actions> | |||||
| </v-card> | |||||
| </v-dialog> | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </v-data-table> | </v-data-table> | ||||
| </v-tab-item> | </v-tab-item> | ||||
| </v-tabs-items> | </v-tabs-items> | ||||
| <!--新增資產群組欄位選項對話--> | |||||
| <!--修改資產群駔欄位對話--> | |||||
| <v-dialog | <v-dialog | ||||
| width="40%" | |||||
| v-model='dialogInsertSelectItem' | |||||
| @click:outside='closeDialogInsertSelectItem' | |||||
| v-model='dialogModify' | |||||
| @click:outside='close' | |||||
| :retain-focus="false" | :retain-focus="false" | ||||
| overlay-opacity="0" | overlay-opacity="0" | ||||
| > | > | ||||
| <v-card> | <v-card> | ||||
| <v-card-title> | <v-card-title> | ||||
| <span class='headline font-weight-bold'>編輯選項</span> | |||||
| <span class='headline font-weight-bold'>修改欄位</span> | |||||
| </v-card-title> | </v-card-title> | ||||
| <v-card-text> | <v-card-text> | ||||
| <v-container> | <v-container> | ||||
| <v-row> | <v-row> | ||||
| <v-col cols="11" class="d-flex align-center"> | |||||
| <v-text-field outlined rounded hide-details | |||||
| v-model="insertSelectItem"/> | |||||
| <v-btn class="ml-2" @click='pushInsertSelectItem'>新增</v-btn> | |||||
| <v-col | |||||
| v-for='(header, index) in headers' | |||||
| :key='index' | |||||
| cols='12' | |||||
| sm='6' | |||||
| md='4' | |||||
| class='d-flex' | |||||
| > | |||||
| <v-text-field | |||||
| v-if="header.text !== '' && header.value !== 'isselect' && isBooleanCol.indexOf(header.value) < 0" | |||||
| :label='header.text' | |||||
| :value="modifyColItem[header.value]" | |||||
| hint='必填' | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| /> | |||||
| <v-select | |||||
| v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0" | |||||
| :label='header.text' hint='必填' | |||||
| :value="modifyColItem[header.value]" | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| :items="selectColItem.isselect" | |||||
| :item-text="selectColItem.isselect.text" | |||||
| :item-value="selectColItem.isselect.value" | |||||
| /> | |||||
| <v-select | |||||
| v-if="header.value && isBooleanCol.indexOf(header.value) >= 0" | |||||
| :label='header.text' hint='必填' | |||||
| :value="modifyColItem[header.value]" | |||||
| v-on:input='oninput(modifyColItem, header.value, $event)' | |||||
| :items="selectColItem.boolean" | |||||
| :item-text="selectColItem.boolean.text" | |||||
| :item-value="selectColItem.boolean.value" | |||||
| /> | |||||
| <v-btn | |||||
| v-if="header.value === 'isselect' && modifyColItem.isselect === 'true'" | |||||
| @click='dialogModifySelectItem = true' | |||||
| > | |||||
| 編輯選項 | |||||
| </v-btn> | |||||
| </v-col> | </v-col> | ||||
| </v-row> | </v-row> | ||||
| <v-card class="mt-2 col-10" | |||||
| style="border: 1px solid grey;min-height: 500px;border-radius: 10px"> | |||||
| <v-chip | |||||
| v-for="(insertSelectItem, index) in insertSelectItems" | |||||
| :key="index" | |||||
| class="col-12 my-1" | |||||
| color="secondary" | |||||
| > | |||||
| {{insertSelectItem}} | |||||
| <v-icon small class="ml-4" @click="deleteInsertSelectItem(index)">mdi-close | |||||
| </v-icon> | |||||
| </v-chip> | |||||
| </v-card> | |||||
| </v-container> | </v-container> | ||||
| </v-card-text> | </v-card-text> | ||||
| <v-card-actions> | <v-card-actions> | ||||
| @@ -404,9 +396,16 @@ | |||||
| <v-btn | <v-btn | ||||
| color='blue darken-1' | color='blue darken-1' | ||||
| text | text | ||||
| @click='closeDialogInsertSelectItem' | |||||
| @click='close' | |||||
| > | > | ||||
| 關閉 | |||||
| 取消 | |||||
| </v-btn> | |||||
| <v-btn | |||||
| color='blue darken-1' | |||||
| text | |||||
| @click='modifyCol' | |||||
| > | |||||
| 修改 | |||||
| </v-btn> | </v-btn> | ||||
| </v-card-actions> | </v-card-actions> | ||||
| </v-card> | </v-card> | ||||
| @@ -475,6 +474,7 @@ | |||||
| }, | }, | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| fullHeight: 0, | |||||
| dialogInsert: false, | dialogInsert: false, | ||||
| dialogModify: false, | dialogModify: false, | ||||
| dialogNewAssertGroup: false, | dialogNewAssertGroup: false, | ||||
| @@ -550,6 +550,12 @@ | |||||
| this.getTypes(); | this.getTypes(); | ||||
| this.inventoryItems = []; | this.inventoryItems = []; | ||||
| this.getCols(); | this.getCols(); | ||||
| this.fullHeight = window.innerHeight; | |||||
| console.log(this.fullHeight); | |||||
| window.onresize = () => { | |||||
| // this.fullWidth = window.innerWidth; | |||||
| this.fullHeight = window.innerHeight; | |||||
| }; | |||||
| }, | }, | ||||
| computed: {}, | computed: {}, | ||||
| watch: { | watch: { | ||||
| @@ -578,6 +584,10 @@ | |||||
| // console.log(col); | // console.log(col); | ||||
| console.log(this.modifySelectItems); | console.log(this.modifySelectItems); | ||||
| }, | }, | ||||
| openDialogModifyCol(item) { | |||||
| this.modifyColItem = JSON.parse(JSON.stringify(item)); | |||||
| this.dialogModify = true; | |||||
| }, | |||||
| closeDialogInsertSelectItem() { | closeDialogInsertSelectItem() { | ||||
| this.dialogInsertSelectItem = false; | this.dialogInsertSelectItem = false; | ||||
| }, | }, | ||||
| @@ -1,6 +1,9 @@ | |||||
| <template> | <template> | ||||
| <div> | <div> | ||||
| <v-data-table class="pa-3 pt-5" :headers="headers" :items="items"> | |||||
| <v-data-table class="pa-3 pt-5" :headers="headers" :items="items" :height="fullHeight*7/9" | |||||
| fixed-header | |||||
| :footer-props="{'items-per-page-options': [30, 40, 50, 60]}" | |||||
| :items-per-page="30"> | |||||
| <template v-slot:top> | <template v-slot:top> | ||||
| <v-toolbar flat> | <v-toolbar flat> | ||||
| <v-toolbar-title class="title font-weight-bold">{{title}}</v-toolbar-title> | <v-toolbar-title class="title font-weight-bold">{{title}}</v-toolbar-title> | ||||
| @@ -17,13 +20,14 @@ | |||||
| @click="exportFile" | @click="exportFile" | ||||
| icon | icon | ||||
| > | > | ||||
| <v-icon >mdi-file-export-outline</v-icon> | |||||
| <v-icon>mdi-file-export-outline</v-icon> | |||||
| </v-btn> | </v-btn> | ||||
| <v-dialog | <v-dialog | ||||
| v-model="dialogSearch" | v-model="dialogSearch" | ||||
| @click:outside="close" | @click:outside="close" | ||||
| :retain-focus="false" | |||||
| > | > | ||||
| <template v-slot:activator="{ on, attrs }" > | |||||
| <template v-slot:activator="{ on, attrs }"> | |||||
| <v-btn | <v-btn | ||||
| color="white" | color="white" | ||||
| class="primary mr-5" | class="primary mr-5" | ||||
| @@ -31,7 +35,7 @@ | |||||
| v-on="on" | v-on="on" | ||||
| icon | icon | ||||
| > | > | ||||
| <v-icon >mdi-magnify</v-icon> | |||||
| <v-icon>mdi-magnify</v-icon> | |||||
| </v-btn> | </v-btn> | ||||
| </template> | </template> | ||||
| @@ -178,79 +182,12 @@ | |||||
| </v-toolbar> | </v-toolbar> | ||||
| </template> | </template> | ||||
| <template v-slot:item.actions="{ item }"> | <template v-slot:item.actions="{ item }"> | ||||
| <v-dialog | |||||
| v-model="dialogModify" | |||||
| @click:outside="close" | |||||
| <v-btn | |||||
| icon | |||||
| @click="openDialogModify(item)" | |||||
| > | > | ||||
| <template v-slot:activator="{ on, attrs }"> | |||||
| <v-btn | |||||
| v-bind="attrs" | |||||
| v-on="on" | |||||
| icon | |||||
| @click="modifyItem = JSON.parse(JSON.stringify(item))" | |||||
| > | |||||
| <v-icon>mdi-pencil</v-icon> | |||||
| </v-btn> | |||||
| </template> | |||||
| <v-card> | |||||
| <v-card-title> | |||||
| <span class="headline font-weight-bold">修改</span> | |||||
| </v-card-title> | |||||
| <v-card-text> | |||||
| <v-container> | |||||
| <v-row> | |||||
| <v-col | |||||
| v-for="(val, key, index) in modifyItem" | |||||
| :key="index" | |||||
| cols="12" | |||||
| sm="6" | |||||
| md="4" | |||||
| class="d-flex" | |||||
| > | |||||
| <v-text-field | |||||
| v-if="isTextField(key) && headers[index].text" | |||||
| :label="headers[index].text" | |||||
| :disabled="isDisabled(key)" | |||||
| v-bind:value="val" | |||||
| :persistent-hint="isRequire(key)" | |||||
| hint="必填" | |||||
| v-on:input="oninput(modifyItem, key, $event)" | |||||
| /> | |||||
| <v-select | |||||
| v-if="isSelect(key) && headers[index].text" | |||||
| :persistent-hint="isRequire(key)" | |||||
| hint="必選" | |||||
| :label="headers[index].text" | |||||
| :value="val" | |||||
| v-on:input="oninput(modifyItem, key, $event)" | |||||
| :items="selectItem[key]" | |||||
| item-text="item" | |||||
| item-value="item" | |||||
| /> | |||||
| </v-col> | |||||
| </v-row> | |||||
| </v-container> | |||||
| </v-card-text> | |||||
| <v-card-actions> | |||||
| <v-spacer></v-spacer> | |||||
| <v-btn | |||||
| color="blue darken-1" | |||||
| text | |||||
| @click="close" | |||||
| > | |||||
| 取消 | |||||
| </v-btn> | |||||
| <v-btn | |||||
| color="blue darken-1" | |||||
| text | |||||
| @click="modifyOne(item)" | |||||
| > | |||||
| 修改 | |||||
| </v-btn> | |||||
| </v-card-actions> | |||||
| </v-card> | |||||
| </v-dialog> | |||||
| <v-icon>mdi-pencil</v-icon> | |||||
| </v-btn> | |||||
| <v-icon | <v-icon | ||||
| small | small | ||||
| @click="deleteOne(item)" | @click="deleteOne(item)" | ||||
| @@ -259,6 +196,70 @@ | |||||
| </v-icon> | </v-icon> | ||||
| </template> | </template> | ||||
| </v-data-table> | </v-data-table> | ||||
| <v-dialog | |||||
| v-model="dialogModify" | |||||
| @click:outside="close" | |||||
| :retain-focus="false" | |||||
| > | |||||
| <v-card> | |||||
| <v-card-title> | |||||
| <span class="headline font-weight-bold">修改</span> | |||||
| </v-card-title> | |||||
| <v-card-text> | |||||
| <v-container> | |||||
| <v-row> | |||||
| <v-col | |||||
| v-for="(val, key, index) in modifyItem" | |||||
| :key="index" | |||||
| cols="12" | |||||
| sm="6" | |||||
| md="4" | |||||
| class="d-flex" | |||||
| > | |||||
| <v-text-field | |||||
| v-if="isTextField(key) && headers[index].text" | |||||
| :label="headers[index].text" | |||||
| :disabled="isDisabled(key)" | |||||
| v-bind:value="val" | |||||
| :persistent-hint="isRequire(key)" | |||||
| hint="必填" | |||||
| v-on:input="oninput(modifyItem, key, $event)" | |||||
| /> | |||||
| <v-select | |||||
| v-if="isSelect(key) && headers[index].text" | |||||
| :persistent-hint="isRequire(key)" | |||||
| hint="必選" | |||||
| :label="headers[index].text" | |||||
| :value="val" | |||||
| v-on:input="oninput(modifyItem, key, $event)" | |||||
| :items="selectItem[key]" | |||||
| item-text="item" | |||||
| item-value="item" | |||||
| /> | |||||
| </v-col> | |||||
| </v-row> | |||||
| </v-container> | |||||
| </v-card-text> | |||||
| <v-card-actions> | |||||
| <v-spacer></v-spacer> | |||||
| <v-btn | |||||
| color="blue darken-1" | |||||
| text | |||||
| @click="close" | |||||
| > | |||||
| 取消 | |||||
| </v-btn> | |||||
| <v-btn | |||||
| color="blue darken-1" | |||||
| text | |||||
| @click="modifyOne(item)" | |||||
| > | |||||
| 修改 | |||||
| </v-btn> | |||||
| </v-card-actions> | |||||
| </v-card> | |||||
| </v-dialog> | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| @@ -266,6 +267,7 @@ | |||||
| name: '', | name: '', | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| fullHeight: 0, | |||||
| dialogInsert: false, | dialogInsert: false, | ||||
| dialogModify: false, | dialogModify: false, | ||||
| dialogSearch: false, | dialogSearch: false, | ||||
| @@ -287,6 +289,12 @@ | |||||
| this.getInventories(); | this.getInventories(); | ||||
| this.getTitle(); | this.getTitle(); | ||||
| this.getSelectItem(); | this.getSelectItem(); | ||||
| this.fullHeight = window.innerHeight; | |||||
| console.log(this.fullHeight); | |||||
| window.onresize = () => { | |||||
| // this.fullWidth = window.innerWidth; | |||||
| this.fullHeight = window.innerHeight; | |||||
| }; | |||||
| }, | }, | ||||
| computed: { | computed: { | ||||
| tablename() { | tablename() { | ||||
| @@ -312,6 +320,10 @@ | |||||
| log() { | log() { | ||||
| alert('as'); | alert('as'); | ||||
| }, | }, | ||||
| openDialogModify(item) { | |||||
| this.modifyItem = JSON.parse(JSON.stringify(item)); | |||||
| this.dialogModify = true; | |||||
| }, | |||||
| oninput(item, key, val) { | oninput(item, key, val) { | ||||
| this.$set(item, key, val); | this.$set(item, key, val); | ||||
| }, | }, | ||||
| @@ -326,7 +338,7 @@ | |||||
| this.cols = resp.data.data; | this.cols = resp.data.data; | ||||
| resp.data.data.forEach((item) => { | resp.data.data.forEach((item) => { | ||||
| let header = {'text': null, 'value': null}; | let header = {'text': null, 'value': null}; | ||||
| header.text = item.descript; | |||||
| header.text = item.descript; | |||||
| header.value = item.colname; | header.value = item.colname; | ||||
| this.headers.push(header); | this.headers.push(header); | ||||
| if (item.isselect === 'true') { | if (item.isselect === 'true') { | ||||
| @@ -348,7 +360,7 @@ | |||||
| insertOne() { | insertOne() { | ||||
| this.insertItem.tablename = this.tablename; | this.insertItem.tablename = this.tablename; | ||||
| this.$axios.post(`/inventory?`, this.insertItem).then(() => { | this.$axios.post(`/inventory?`, this.insertItem).then(() => { | ||||
| delete this.insertItem.tablename; | |||||
| delete this.insertItem.tablename; | |||||
| this.getInventories(); | this.getInventories(); | ||||
| this.close(); | this.close(); | ||||
| } | } | ||||
| @@ -90,8 +90,8 @@ public class AssertGroupController { | |||||
| System.out.println(mappingCol); | System.out.println(mappingCol); | ||||
| // assertDAO.modifyColToTable(mappingCol); | // assertDAO.modifyColToTable(mappingCol); | ||||
| assertDAO.sortCol1(mappingCol.getOldIndex(), mappingCol.getIndex()); | |||||
| assertDAO.sortCol2(mappingCol.getOldIndex(), mappingCol.getIndex()); | |||||
| assertDAO.sortCol1(mappingCol.getOldIndex(), mappingCol.getIndex(), mappingCol.getTablename()); | |||||
| assertDAO.sortCol2(mappingCol.getOldIndex(), mappingCol.getIndex(), mappingCol.getTablename()); | |||||
| assertDAO.modifyColToMappingCol(mappingCol); | assertDAO.modifyColToMappingCol(mappingCol); | ||||
| assertDAO.modifySelectItems(mappingCol); | assertDAO.modifySelectItems(mappingCol); | ||||
| @@ -222,11 +222,11 @@ public interface AssertDAO extends SqlObject { | |||||
| handle.createUpdate(sql).execute(); | handle.createUpdate(sql).execute(); | ||||
| } | } | ||||
| @SqlUpdate("update mapping.mapping_col set index = index + 1 where index < ?::numeric and index >= ?::numeric ") | |||||
| void sortCol1(String oldIndex ,String index); | |||||
| @SqlUpdate("update mapping.mapping_col set index = index + 1 where index < ?::numeric and index >= ?::numeric where tablename = ?") | |||||
| void sortCol1(String oldIndex ,String index, String tablename); | |||||
| @SqlUpdate("update mapping.mapping_col set index = index - 1 where index > ?::numeric and index <= ?::numeric ") | |||||
| void sortCol2(String oldIndex ,String index); | |||||
| @SqlUpdate("update mapping.mapping_col set index = index - 1 where index > ?::numeric and index <= ?::numeric where tablename = ?") | |||||
| void sortCol2(String oldIndex ,String index, String tablename); | |||||
| @SqlUpdate("select index from mapping.mapping_col where tablename = ? order by index desc limit 1;") | @SqlUpdate("select index from mapping.mapping_col where tablename = ? order by index desc limit 1;") | ||||
| Integer getLastIndex(String tablename); | Integer getLastIndex(String tablename); | ||||