diff --git a/app/src/components/AccountManage.vue b/app/src/components/AccountManage.vue index dd61bef..a3107c1 100644 --- a/app/src/components/AccountManage.vue +++ b/app/src/components/AccountManage.vue @@ -254,6 +254,7 @@ delete this.insertItem.tablename; this.getUsers(); this.close(); + alert('已新增'); } ); }, @@ -263,7 +264,9 @@ Object.keys(this.modifyItem).forEach((key) => { this.modifyItem[key] = ''; }); + alert('已修改'); this.close(); + } ); }, diff --git a/app/src/components/AssetGroup.vue b/app/src/components/AssetGroup.vue index d7f4ac9..140392c 100644 --- a/app/src/components/AssetGroup.vue +++ b/app/src/components/AssetGroup.vue @@ -252,7 +252,7 @@ @@ -260,6 +260,7 @@ 編輯選項 @@ -283,6 +285,7 @@ @@ -412,12 +415,12 @@ :item-text="selectColItem.boolean.text" :item-value="selectColItem.boolean.value" /> - - - - - - + + 編輯選項 + = 0 || this.modifySelectItem === '' || this.modifyTypeSelectItem === '') { + if (this.modifySelectItems.indexOf(this.modifySelectItem) >= 0 || this.modifySelectItem === '') { alert('選項不得重複或為空'); } else { if (this.modifyColItem.colname === 'type') { @@ -702,9 +705,12 @@ insertCol() { this.insertColItem.issearch = 'true'; this.insertColItem.isexport = 'true'; + this.insertColItem.isrequire = 'true'; + console.log(this.insertColItem); let stop; for (const key in this.insertColItem) { - if (this.insertColItem[key] === '' && key !== 'tablename') { + if (this.insertColItem[key] === '' && key !== 'tablename' && key !== 'insertSelectItems' && key !== 'modifySelectItems' && key !== 'isselect' && key !== 'descript2') { + alert(key); alert('所有資料不可為空'); stop = true; return; @@ -724,11 +730,13 @@ this.getCols(); this.close(); this.insertSelectItems = []; - delete this.insertColItem.tablename; - delete this.insertColItem.insertselectItems; - Object.keys(this.insertColItem).forEach((key) => { - this.insertColItem[key] = ''; - }); + // delete this.insertColItem.tablename; + // delete this.insertColItem.insertselectItems; + this.insertColItem = {}; + // Object.keys(this.insertColItem).forEach((key) => { + // this.insertColItem[key] = ''; + // }); + alert('已新增'); } ); @@ -738,6 +746,8 @@ this.dialogModify = false; this.dialogNewAssertGroup = false; this.dialogModifyAssertGroupName = false; + this.insertSelectItems = []; + this.modifySelectItems = []; }, isDisabled(key) { const disabledKey = ['id']; @@ -760,7 +770,10 @@ modifyCol() { let stop; for (const key in this.modifyColItem) { - if (this.modifyColItem[key] === '') { + if (this.modifyColItem[key] === '' && key !== 'level' + && key !== 'insertSelectItems' && key !== 'modifySelectItems' + && key !== 'oldIndex' && key !== 'type') { + console.log(key); alert('所有資料不可為空'); stop = true; return; @@ -780,6 +793,7 @@ Object.keys(this.modifyColItem).forEach((key) => { this.modifyColItem[key] = ''; }); + alert('已修改'); } ); @@ -797,9 +811,14 @@ await this.$axios.post(`/assert/assertGroups`, { assertGroupDescript: this.insertAssertGroupDescript, assertGroupTablename: this.insertAssertGroupTablename + }).then(() => { + // this.getTabs(); + // this.close(); + location.reload(); + }).catch(() => { + alert('名稱不可重複'); }); - await this.getTabs(); - this.close(); + }, showTabOptionIcon(index) { this.optionIconShow = index; @@ -808,16 +827,20 @@ let yes = confirm('確認刪除此群組?'); if (yes) { await this.$axios.delete(`/assert/assertGroups?tablename=${item.value}`).then(() => { - this.getTabs(); - alert('已刪除'); + // this.getTabs(); + // alert('已刪除'); }); + location.reload(); } }, async modifyAssertGroupName() { await this.$axios.put(`/assert/assertGroups?tablename=${this.modifyAssertGroup.value}&&newDescript=${this.modifyAssertGroup.text}`).then(() => { - this.getTabs(); - alert('已修改'); - this.close(); + // this.getTabs(); + // alert('已修改'); + // this.close(); + location.reload(); + }).catch(() => { + alert('名稱不可重複'); }); }, diff --git a/app/src/components/Home.vue b/app/src/components/Home.vue index ae77dc9..a39849d 100644 --- a/app/src/components/Home.vue +++ b/app/src/components/Home.vue @@ -197,6 +197,9 @@ this.getRoutes(); }, methods: { + log(val) { + alert(val); + }, logout() { this.$emit("authenticated", { 'username': null, diff --git a/app/src/components/Inventory.vue b/app/src/components/Inventory.vue index b034416..e7e181b 100644 --- a/app/src/components/Inventory.vue +++ b/app/src/components/Inventory.vue @@ -347,7 +347,7 @@ 修改 @@ -499,11 +499,12 @@ isRequire(key) { return this.isrequired.indexOf(key) >= 0; }, - modifyOne(item) { - item.tablename = this.tablename; - this.$axios.put(`/inventory?`, item).then(() => { + modifyOne() { + this.modifyItem.tablename = this.tablename; + this.$axios.put(`/inventory?`, this.modifyItem).then(() => { this.getInventories(); this.close(); + alert('已修改'); } ); }, diff --git a/app/src/components/TypeManage.vue b/app/src/components/TypeManage.vue index bf1beff..9f4740c 100644 --- a/app/src/components/TypeManage.vue +++ b/app/src/components/TypeManage.vue @@ -108,6 +108,7 @@ @@ -296,6 +297,21 @@ }, insertCol() { let stop; + if (this.insertColItem.c && this.insertColItem.c !== '' && isNaN(this.insertColItem.c) ) { + alert('欄位C、I和A須為數字或為空'); + stop = true; + return; + } + if (this.insertColItem.i && this.insertColItem.i !== '' && isNaN(this.insertColItem.i) ) { + alert('欄位C、I和A須為數字或為空'); + stop = true; + return; + } + if (this.insertColItem.a && this.insertColItem.a !== '' && isNaN(this.insertColItem.a) ) { + alert('欄位C、I和A須為數字或為空'); + stop = true; + return; + } this.cols.forEach((col) => { if (col.type === this.insertColItem.type) { alert('項次不可重複'); @@ -309,9 +325,11 @@ this.getCols(); this.close(); delete this.insertColItem.tablename; - Object.keys(this.insertColItem).forEach((key) => { - this.insertColItem[key] = ''; - }); + this.insertColItem = {}; + // Object.keys(this.insertColItem).forEach((key) => { + // this.insertColItem[key] = ''; + // }); + alert('已新增'); } ); @@ -321,16 +339,6 @@ this.dialogModify = false; }, modifyCol() { - // let repatCount = 0; - // this.cols.forEach((col) => { - // if (col.type === this.modifyColItem.type) { - // repatCount++; - // } - // }); - // if (repatCount >= 1) { - // alert('項次不可重複'); - // return; - // } this.modifyColItem.tablename = this.assertGroup[this.currentTab].value; this.modifyColItem.oldId = this.oldId; this.$axios.put(`/type`, this.modifyColItem).then(() => { @@ -341,6 +349,7 @@ Object.keys(this.modifyColItem).forEach((key) => { this.modifyColItem[key] = ''; }); + alert('已修改'); } ); }, diff --git a/src/main/java/com/moze/rms/controller/AssertGroupController.java b/src/main/java/com/moze/rms/controller/AssertGroupController.java index d407542..28d7713 100644 --- a/src/main/java/com/moze/rms/controller/AssertGroupController.java +++ b/src/main/java/com/moze/rms/controller/AssertGroupController.java @@ -98,8 +98,10 @@ public class AssertGroupController { assertDAO.sortCol2(mappingCol.getOldIndex(), mappingCol.getIndex(), mappingCol.getTablename()); assertDAO.modifyColToMappingCol(mappingCol); + if (!mappingCol.getColname().equals("type")) { assertDAO.modifySelectItems(mappingCol); - assertDAO.modifyMappingType(mappingCol); +// assertDAO.modifyMappingType(mappingCol); + } return new JsonResult(StatusCode.SUCCESS, null); } diff --git a/src/main/java/com/moze/rms/controller/InventoryController.java b/src/main/java/com/moze/rms/controller/InventoryController.java index d393918..98a6a26 100644 --- a/src/main/java/com/moze/rms/controller/InventoryController.java +++ b/src/main/java/com/moze/rms/controller/InventoryController.java @@ -118,6 +118,7 @@ public class InventoryController { List mappingCols = mappingColDAO.findByTable(tablename); inventoryDAO.truncateTable(tablename); searchDAO.deleteByTablename(tablename); +// inventoryDAO.resetIndex(tablename); inventoryDAO.importInventories(tablename, mappingCols, data, searchDAO); f.deleteOnExit(); diff --git a/src/main/java/com/moze/rms/controller/TypeController.java b/src/main/java/com/moze/rms/controller/TypeController.java index 8366abe..7559450 100644 --- a/src/main/java/com/moze/rms/controller/TypeController.java +++ b/src/main/java/com/moze/rms/controller/TypeController.java @@ -45,6 +45,9 @@ public class TypeController { if (type.get("id") != type.get("oldId")) { typeDAO.sortType1( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); typeDAO.sortType2( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); + typeDAO.sortTypeInSelectItem1( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); + typeDAO.sortTypeInSelectItem2( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); + } typeDAO.updateType(type); mappingColDAO.updateType(type.get("type").toString(),type.get("type") + " " + type.get("name"), type.get("tablename").toString(), type.get("id").toString()); diff --git a/src/main/java/com/moze/rms/dao/AssertDAO.java b/src/main/java/com/moze/rms/dao/AssertDAO.java index fecf0aa..4253165 100644 --- a/src/main/java/com/moze/rms/dao/AssertDAO.java +++ b/src/main/java/com/moze/rms/dao/AssertDAO.java @@ -65,7 +65,8 @@ public interface AssertDAO extends SqlObject { sql += " [ ] int,"; sql += " C int,"; sql += " I int,"; - sql += " A int"; + sql += " A int,"; + sql += " id int"; sql += ")"; handle.createUpdate(sql).execute(); diff --git a/src/main/java/com/moze/rms/dao/InventoryDAO.java b/src/main/java/com/moze/rms/dao/InventoryDAO.java index de79bde..dc5c7f3 100644 --- a/src/main/java/com/moze/rms/dao/InventoryDAO.java +++ b/src/main/java/com/moze/rms/dao/InventoryDAO.java @@ -146,6 +146,12 @@ public interface InventoryDAO extends SqlObject { return handle.createQuery(sql).mapToMap().list(); } + default void resetIndex(String tablename) { + Handle handle = this.getHandle(); + String sql = "DBCC CHECKIDENT ("+ tablename +", RESEED, 0)"; + handle.createUpdate(sql).execute(); + } + default void importInventories(String tablename, List mappingCols, List> datas, SearchDAO searchDAO) { Handle handle = this.getHandle(); diff --git a/src/main/java/com/moze/rms/dao/TypeDAO.java b/src/main/java/com/moze/rms/dao/TypeDAO.java index 026917a..5917367 100644 --- a/src/main/java/com/moze/rms/dao/TypeDAO.java +++ b/src/main/java/com/moze/rms/dao/TypeDAO.java @@ -95,6 +95,18 @@ public interface TypeDAO extends SqlObject { handle.createUpdate(sql).execute(); } + default void sortTypeInSelectItem1(String oldId ,String id, String tablename) { + Handle handle = this.getHandle(); + String sql = "update mapping.selectItem set [index] = [index] + 1 where [index] >= " + id + " and [index] < " + oldId + " and tablename = '" +tablename + "' and colname = 'type'"; + handle.createUpdate(sql).execute(); + } + + default void sortTypeInSelectItem2(String oldId ,String id, String tablename) { + Handle handle = this.getHandle(); + String sql = "update mapping.selectItem set [index] = [index] - 1 where [index] > " + oldId + " and [index] <= " + id + " and tablename = '" +tablename + "' and colname = 'type'"; + handle.createUpdate(sql).execute(); + } + default void sortTypeAfterDelete(String id, String tablename) { Handle handle = this.getHandle(); String sql = "update mapping.mapping_" + tablename + " set id = id - 1 where id > " + id;