From f5d8d67618f7d515fd242d04a7f958fdd74587af Mon Sep 17 00:00:00 2001 From: teddyhuang Date: Wed, 24 Mar 2021 22:30:36 +0800 Subject: [PATCH] 202103242230 --- app/src/components/AssetGroup.vue | 33 ++++++-- app/src/components/Inventory.vue | 12 ++- .../moze/rms/controller/AssertGroupController.java | 6 +- src/main/java/com/moze/rms/dao/AssertDAO.java | 92 +++++++++++++++++++--- 4 files changed, 121 insertions(+), 22 deletions(-) diff --git a/app/src/components/AssetGroup.vue b/app/src/components/AssetGroup.vue index b700909..21fa843 100644 --- a/app/src/components/AssetGroup.vue +++ b/app/src/components/AssetGroup.vue @@ -426,14 +426,22 @@ - + - 新增 + 新增

拖曳選項以排序

@@ -542,6 +550,7 @@ } ], oldIndex: '', + modifyTypeSelectItem: '', } }, async mounted() { @@ -564,9 +573,7 @@ this.getCols(); }, dialogModifySelectItem() { - if (this.modifySelectItems.length === 0) { - this.getModifySelectItems(); - } + }, modifySelectItems() { console.log(this.modifySelectItems[0]); @@ -575,6 +582,9 @@ this.insertColItem.index = (parseInt(this.allCols[this.assertGroup[this.currentTab].value][this.allCols[this.assertGroup[this.currentTab].value].length - 1].index) + 1).toString(); }, dialogModify() { + if (this.modifyColItem.isselect === 'true') { + this.getModifySelectItems(); + } this.oldIndex = this.modifyColItem.index; } }, @@ -592,6 +602,7 @@ this.dialogInsertSelectItem = false; }, getModifySelectItems() { + this.modifySelectItems = []; this.$axios.get(`/assert/selectItems?tablename=${this.modifyColItem.tablename}&&colname=${this.modifyColItem.colname}`).then((resp) => { console.log(resp.data.data); this.modifySelectItems = resp.data.data; @@ -610,11 +621,17 @@ } }, pushModifySelectItem() { - if (this.modifySelectItems.indexOf(this.modifySelectItem) >= 0 || this.modifySelectItem === '') { + if (this.modifySelectItems.indexOf(this.modifySelectItem) >= 0 || this.modifySelectItem === '' || this.modifyTypeSelectItem === '') { alert('選項不得重複或為空'); } else { - this.modifySelectItems.push(this.modifySelectItem); - this.modifySelectItem = ''; + if (this.modifyColItem.colname === 'type') { + this.modifySelectItems.push(`${this.modifyTypeSelectItem} ${this.modifySelectItem}`); + this.modifyTypeSelectItem = ''; + this.modifySelectItem = ''; + } else { + this.modifySelectItems.push(this.modifySelectItem); + this.modifySelectItem = ''; + } } }, deleteInsertSelectItem(index) { diff --git a/app/src/components/Inventory.vue b/app/src/components/Inventory.vue index 318a9b2..9523b02 100644 --- a/app/src/components/Inventory.vue +++ b/app/src/components/Inventory.vue @@ -22,6 +22,7 @@ > mdi-file-export-outline + + + data) { + + Handle handle = this.getHandle(); + String sql = "insert into mapping.mapping_col(tablename, colname, descript, level, type, [index], isselect, isrequire, issearch, isexport) values ("; + + sql += "'" + data.get("assertGroupTablename") + "',"; + sql += "'id',"; + sql += "'編號',"; + sql += "'0',"; + sql += "'int',"; + sql += "'0',"; + sql += "'false',"; + sql += "'false',"; + sql += "'false',"; + sql += "'true'"; + sql += ")"; + + handle.createUpdate(sql).execute(); + } + + default void insertTypeToMapCol(Map data) { + + Handle handle = this.getHandle(); + String sql = "insert into mapping.mapping_col(tablename, colname, descript, level, type, [index], isselect, isrequire, issearch, isexport) values ("; + + sql += "'" + data.get("assertGroupTablename") + "',"; + sql += "'type',"; + sql += "'資產群組',"; + sql += "'0',"; + sql += "'nvarchar',"; + sql += "'2',"; + sql += "'true',"; + sql += "'true',"; + sql += "'true',"; + sql += "'true'"; + sql += ")"; + + handle.createUpdate(sql).execute(); + } + + default void insertMappingTable(Map data) { Handle handle = this.getHandle(); String sql = "insert into mapping.mapping_table(tablename, descript) values ('" + data.get("assertGroupTablename") + "', '" + data.get("assertGroupDescript") + "')"; @@ -100,6 +141,13 @@ public interface AssertDAO extends SqlObject { } + @SqlUpdate("delete from mapping.mapping_col where tablename = ?") + void deleteMappingCol(String tablename); + + @SqlUpdate("delete from mapping.selectItem where tablename = ?") + void deleteFromSelectItem(String tablename); + + @SqlQuery("select item from mapping.\"selectItem\" where tablename = ? and colname = ? order by [index];") @RegisterBeanMapper(SelectItemDTO.class) List getSelectItemsByCol(String tablename, String colname); @@ -192,15 +240,38 @@ public interface AssertDAO extends SqlObject { } default void modifySelectItems(MappingCol m) { + + Handle handle = this.getHandle(); + + + String sqlDelete = "delete from mapping.selectItem where tablename = '" + m.getTablename() + "' and colname = '" + m.getColname() + "'" ; + handle.createUpdate(sqlDelete).execute(); + + if (m.getModifySelectItems() != null) { + for (int i = 1; i <= m.getModifySelectItems().size(); i++) { + String sql = "insert into mapping.selectItem values("; + sql += "'" + m.getTablename() + "',"; + sql += "'" + m.getColname() + "',"; + sql += "'" + m.getModifySelectItems().get(i - 1) + "',"; + sql += "'" + i + "')"; + handle.createUpdate(sql).execute(); + } + } + } + + default void modifyMappingType(MappingCol m) { Handle handle = this.getHandle(); - if (m.getInsertSelectItems() != null) { - for (int i = 1; i <= m.getInsertSelectItems().size(); i++) { - String sql = "update mapping.\"selectItem\" set "; - sql += "[index] = '" + i + "'"; - sql += "where tablename = '" + m.getTablename() + "'"; - sql += "and colname = '" + m.getColname() + "'"; + String sqlDelete = "truncate table mapping.mapping_" + m.getTablename(); + handle.createUpdate(sqlDelete).execute(); + if (m.getModifySelectItems() != null) { + for (int i = 1; i <= m.getModifySelectItems().size(); i++) { + String sql = "insert into mapping.mapping_" + m.getTablename() +" values("; + sql += "'" + m.getModifySelectItems().get(i - 1).split(" ")[0] + "',"; + sql += "'" + m.getModifySelectItems().get(i - 1).split(" ")[1] + "',"; + sql += "'" + m.getModifySelectItems().get(i - 1).split(" ")[1] + "',"; + sql += "'" + m.getModifySelectItems().get(i - 1).split(" ")[1] + "')"; handle.createUpdate(sql).execute(); } } @@ -236,4 +307,5 @@ public interface AssertDAO extends SqlObject { @SqlUpdate("select [index] from mapping.mapping_col where tablename = ? order by [index] desc limit 1;") Integer getLastIndex(String tablename); + }