| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
3f92c68cd4 | Merge remote-tracking branch 'origin/master' | 1 year ago |
|
|
456c36f251 | 通讯录修改 | 1 year ago |
| @@ -1,6 +1,17 @@ | |||||
| package com.rwk.web.controller.ability; | package com.rwk.web.controller.ability; | ||||
| import java.util.ArrayList; | |||||
| import java.util.LinkedList; | |||||
| import java.util.List; | import java.util.List; | ||||
| import com.rwk.common.core.domain.Ztree; | |||||
| import com.rwk.common.core.domain.entity.SysDept; | |||||
| import com.rwk.common.core.domain.entity.SysUser; | |||||
| import com.rwk.common.utils.ShiroUtils; | |||||
| import com.rwk.system.domain.RwkAddressGroup; | |||||
| import com.rwk.system.domain.RwkBookGroup; | |||||
| import com.rwk.system.service.IRwkAddressGroupService; | |||||
| import com.rwk.system.service.IRwkBookGroupService; | |||||
| import org.apache.shiro.authz.annotation.RequiresPermissions; | import org.apache.shiro.authz.annotation.RequiresPermissions; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Controller; | import org.springframework.stereotype.Controller; | ||||
| @@ -34,10 +45,31 @@ public class RwkAddressBookController extends BaseController | |||||
| @Autowired | @Autowired | ||||
| private IRwkAddressBookService rwkAddressBookService; | private IRwkAddressBookService rwkAddressBookService; | ||||
| @Autowired | |||||
| private IRwkAddressGroupService rwkAddressGroupService; | |||||
| @Autowired | |||||
| private IRwkBookGroupService rwkBookGroupService; | |||||
| @RequiresPermissions("system:addressbook:view") | @RequiresPermissions("system:addressbook:view") | ||||
| @GetMapping() | @GetMapping() | ||||
| public String book() | |||||
| public String book(ModelMap map) | |||||
| { | { | ||||
| List<RwkAddressGroup> resultGroup = new LinkedList<>(); | |||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| Long deptId = sysUser.getDept().getDeptId(); | |||||
| // 所有联系人 | |||||
| List<RwkAddressGroup> rwkAddressGroups1 = rwkAddressGroupService.selectRwkAddressGroupListAllByDept(deptId); | |||||
| // 未分组联系人(停用) | |||||
| // List<RwkAddressGroup> rwkAddressGroups2 = rwkAddressGroupService.selectRwkAddressGroupListLackByDept(deptId); | |||||
| // resultGroup.addAll(rwkAddressGroups2); | |||||
| // 分组联系人 | |||||
| List<RwkAddressGroup> rwkAddressGroups3 = rwkAddressGroupService.selectRwkAddressGroupList(sysUser.getLoginName()); | |||||
| resultGroup.addAll(rwkAddressGroups3); | |||||
| map.put("rwkAddressGroups", resultGroup); | |||||
| map.put("allddressGroups", rwkAddressGroups1); | |||||
| return prefix + "/addressbook"; | return prefix + "/addressbook"; | ||||
| } | } | ||||
| @@ -54,7 +86,6 @@ public class RwkAddressBookController extends BaseController | |||||
| return getDataTable(list); | return getDataTable(list); | ||||
| } | } | ||||
| /** | /** | ||||
| * 导出通讯录主列表 | * 导出通讯录主列表 | ||||
| */ | */ | ||||
| @@ -69,14 +100,14 @@ public class RwkAddressBookController extends BaseController | |||||
| return util.exportExcel(list, "通讯录主数据"); | return util.exportExcel(list, "通讯录主数据"); | ||||
| } | } | ||||
| /** | |||||
| * 新增通讯录人员 | |||||
| */ | |||||
| @GetMapping("/add") | |||||
| public String add() | |||||
| { | |||||
| return prefix + "/add"; | |||||
| } | |||||
| // /** | |||||
| // * 新增通讯录人员 | |||||
| // */ | |||||
| // @GetMapping("/add") | |||||
| // public String add() | |||||
| // { | |||||
| // return prefix + "/add"; | |||||
| // } | |||||
| /** | /** | ||||
| * 新增通讯录分组 | * 新增通讯录分组 | ||||
| @@ -89,11 +120,26 @@ public class RwkAddressBookController extends BaseController | |||||
| /** | /** | ||||
| * 新增通讯录分组 | |||||
| * 新增保存通讯录分组 | |||||
| */ | |||||
| @PostMapping("/addgroup/add") | |||||
| @ResponseBody | |||||
| public AjaxResult addGroupSave(RwkAddressGroup rwkAddressGroup) | |||||
| { | |||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| rwkAddressGroup.setGroupByUser(sysUser.getLoginName()); | |||||
| return toAjax(rwkAddressGroupService.insertRwkAddressGroup(rwkAddressGroup)); | |||||
| } | |||||
| /** | |||||
| * 新增通讯录人员 | |||||
| */ | */ | ||||
| @GetMapping("/addbook") | @GetMapping("/addbook") | ||||
| public String addbook() | |||||
| public String addbook(ModelMap map) | |||||
| { | { | ||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| List<RwkAddressGroup> rwkAddressGroups = rwkAddressGroupService.selectRwkAddressGroupList(sysUser.getLoginName()); | |||||
| map.put("rwkAddressGroups", rwkAddressGroups); | |||||
| return prefix + "/addbook"; | return prefix + "/addbook"; | ||||
| } | } | ||||
| @@ -102,13 +148,58 @@ public class RwkAddressBookController extends BaseController | |||||
| */ | */ | ||||
| @RequiresPermissions("system:book:add") | @RequiresPermissions("system:book:add") | ||||
| @Log(title = "通讯录主", businessType = BusinessType.INSERT) | @Log(title = "通讯录主", businessType = BusinessType.INSERT) | ||||
| @PostMapping("/add") | |||||
| @PostMapping("/address/add") | |||||
| @ResponseBody | @ResponseBody | ||||
| public AjaxResult addSave(RwkAddressBook rwkAddressBook) | public AjaxResult addSave(RwkAddressBook rwkAddressBook) | ||||
| { | { | ||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| SysDept dept = sysUser.getDept(); | |||||
| rwkAddressBook.setDeptId(dept.getDeptId()); | |||||
| return toAjax(rwkAddressBookService.insertRwkAddressBook(rwkAddressBook)); | return toAjax(rwkAddressBookService.insertRwkAddressBook(rwkAddressBook)); | ||||
| } | } | ||||
| /** | |||||
| * 通讯录复制关系 | |||||
| */ | |||||
| @PostMapping("/address/copy") | |||||
| @ResponseBody | |||||
| public AjaxResult copySave(String addressIds, String groupIds) | |||||
| { | |||||
| String[] addressIdArray = addressIds.split(","); | |||||
| String[] groupIdArray = groupIds.split(","); | |||||
| List<RwkBookGroup> list=new ArrayList<>(); | |||||
| for (int i = 0; i < addressIdArray.length; i++){ | |||||
| for (int j = 0; j < groupIdArray.length; j++){ | |||||
| RwkBookGroup rbg= new RwkBookGroup(); | |||||
| rbg.setBookId(Long.valueOf(addressIdArray[i])); | |||||
| rbg.setGroupId(Long.valueOf(groupIdArray[j])); | |||||
| list.add(rbg); | |||||
| } | |||||
| } | |||||
| return toAjax(rwkBookGroupService.insertRwkBookGroupList(list)); | |||||
| } | |||||
| /** | |||||
| * 通讯录移动关系 | |||||
| */ | |||||
| @PostMapping("/address/move") | |||||
| @ResponseBody | |||||
| public AjaxResult moveSave(String addressIds, String byGroupId,String groupIds) | |||||
| { | |||||
| String[] addressIdArray = addressIds.split(","); | |||||
| String[] groupIdArray = groupIds.split(","); | |||||
| List<RwkBookGroup> list=new ArrayList<>(); | |||||
| for (int i = 0; i < addressIdArray.length; i++){ | |||||
| for (int j = 0; j < groupIdArray.length; j++){ | |||||
| RwkBookGroup rbg= new RwkBookGroup(); | |||||
| rbg.setBookId(Long.valueOf(addressIdArray[i])); | |||||
| rbg.setGroupId(Long.valueOf(groupIdArray[j])); | |||||
| list.add(rbg); | |||||
| } | |||||
| } | |||||
| return toAjax(rwkBookGroupService.insertRwkBookGroupList(list)); | |||||
| } | |||||
| /** | /** | ||||
| * 修改通讯录 | * 修改通讯录 | ||||
| */ | */ | ||||
| @@ -118,15 +209,49 @@ public class RwkAddressBookController extends BaseController | |||||
| { | { | ||||
| RwkAddressBook rwkAddressBook = rwkAddressBookService.selectRwkAddressBookById(id); | RwkAddressBook rwkAddressBook = rwkAddressBookService.selectRwkAddressBookById(id); | ||||
| mmap.put("rwkAddressBook", rwkAddressBook); | mmap.put("rwkAddressBook", rwkAddressBook); | ||||
| return prefix + "/edit"; | |||||
| return prefix + "/editbook"; | |||||
| } | } | ||||
| /** | |||||
| * 个人通讯录分组树 | |||||
| * @param | |||||
| * @param mmap | |||||
| * @return | |||||
| */ | |||||
| @GetMapping("/selectGroupsTree/{addressIds}") | |||||
| public String selectDeptTree(ModelMap mmap,@PathVariable("addressIds") String addressIds) | |||||
| { | |||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| mmap.put("groups", rwkAddressGroupService.selectRwkAddressGroupList(sysUser.getLoginName())); | |||||
| mmap.put("addressIds", addressIds); | |||||
| return prefix + "/groupTree"; | |||||
| } | |||||
| /** | |||||
| * 通讯录关系移动 | |||||
| * @param | |||||
| * @param mmap | |||||
| * @return | |||||
| */ | |||||
| @GetMapping("/selectGroupsTreeMove/{str}") | |||||
| public String selectGroupsTreeMove(ModelMap mmap,@PathVariable("str") String str) | |||||
| { | |||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| String[] split = str.split("gId="); | |||||
| String ids=split[0]; | |||||
| String byGroupId=split[1]; | |||||
| mmap.put("groups", rwkAddressGroupService.selectRwkAddressGroupList(sysUser.getLoginName())); | |||||
| mmap.put("addressIds", ids); | |||||
| mmap.put("byGroupId", byGroupId); | |||||
| return prefix + "/groupTree"; | |||||
| } | |||||
| /** | /** | ||||
| * 修改保存通讯录 | * 修改保存通讯录 | ||||
| */ | */ | ||||
| @RequiresPermissions("system:book:edit") | |||||
| @Log(title = "通讯录主", businessType = BusinessType.UPDATE) | |||||
| @PostMapping("/edit") | |||||
| @PostMapping("/address/edit") | |||||
| @ResponseBody | @ResponseBody | ||||
| public AjaxResult editSave(RwkAddressBook rwkAddressBook) | public AjaxResult editSave(RwkAddressBook rwkAddressBook) | ||||
| { | { | ||||
| @@ -136,12 +261,32 @@ public class RwkAddressBookController extends BaseController | |||||
| /** | /** | ||||
| * 删除通讯录 | * 删除通讯录 | ||||
| */ | */ | ||||
| @RequiresPermissions("system:book:remove") | |||||
| @Log(title = "通讯录主", businessType = BusinessType.DELETE) | |||||
| @PostMapping( "/remove") | |||||
| @PostMapping( "/address/delete") | |||||
| @ResponseBody | @ResponseBody | ||||
| public AjaxResult remove(String ids) | public AjaxResult remove(String ids) | ||||
| { | { | ||||
| return toAjax(rwkAddressBookService.deleteRwkAddressBookByIds(ids)); | return toAjax(rwkAddressBookService.deleteRwkAddressBookByIds(ids)); | ||||
| } | } | ||||
| /** | |||||
| * 删除通讯录 | |||||
| */ | |||||
| @PostMapping( "/addgroup/delete") | |||||
| @ResponseBody | |||||
| public AjaxResult removeGroup(String ids) | |||||
| { | |||||
| return toAjax(rwkBookGroupService.deleteRwkBookGroupByBookIds(ids)); | |||||
| } | |||||
| /** | |||||
| * 删除通讯录分组(包含其成员关系) | |||||
| */ | |||||
| @PostMapping( "/addgroup/delete/all") | |||||
| @ResponseBody | |||||
| public AjaxResult removeGroupAll(Long groupid ) | |||||
| { | |||||
| // 删除组下关系 | |||||
| rwkBookGroupService.deleteRwkBookGroupByGroupId(groupid); | |||||
| return toAjax(rwkAddressGroupService.deleteRwkAddressGroupById(groupid)); | |||||
| } | |||||
| } | } | ||||
| @@ -19,6 +19,10 @@ | |||||
| background-color: #CECECE; | background-color: #CECECE; | ||||
| } | } | ||||
| .click-bg{ | |||||
| background-color: #CECECE; | |||||
| } | |||||
| .bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){ | .bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){ | ||||
| border: 0px!important; | border: 0px!important; | ||||
| } | } | ||||
| @@ -12,14 +12,16 @@ | |||||
| <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | ||||
| <!-- </div>--> | <!-- </div>--> | ||||
| <!-- </ul>--> | <!-- </ul>--> | ||||
| <form class="form-horizontal"> | |||||
| <div style="height: 50px;width: 100%"></div> | |||||
| <form class="form-horizontal" id="form-addressbook-add"> | |||||
| <div class="col-md-12" > | <div class="col-md-12" > | ||||
| <div class="form-group" > | <div class="form-group" > | ||||
| <div class="address-from-left"> | <div class="address-from-left"> | ||||
| <span style="color: red">*</span>姓名: | <span style="color: red">*</span>姓名: | ||||
| </div> | </div> | ||||
| <div class="address-from-right"> | <div class="address-from-right"> | ||||
| <input type="text" name="" class="form-control" placeholder="请输入姓名"> | |||||
| <input type="text" id="bookName" name="bookName" class="form-control" placeholder="请输入姓名"> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -28,7 +30,7 @@ | |||||
| 电话: | 电话: | ||||
| </div> | </div> | ||||
| <div class="address-from-right"> | <div class="address-from-right"> | ||||
| <input type="text" name="" class="form-control" placeholder="请输入电话"> | |||||
| <input type="text" name="information" class="form-control" placeholder="请输入电话"> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -37,22 +39,48 @@ | |||||
| Email: | Email: | ||||
| </div> | </div> | ||||
| <div class="address-from-right"> | <div class="address-from-right"> | ||||
| <input type="text" name="" class="form-control" placeholder="请输入Email"> | |||||
| <input type="text" name="email" class="form-control" placeholder="请输入Email"> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="form-group" style="margin-top: 30px"> | |||||
| <div class="address-from-left"> | |||||
| 其他联系方式: | |||||
| </div> | |||||
| <div class="address-from-right"> | |||||
| <input type="text" name="othersInf" class="form-control" placeholder="请输入其他联系方式"> | |||||
| </div> | |||||
| </div> | |||||
| <div class="form-group" style="margin-top: 30px"> | <div class="form-group" style="margin-top: 30px"> | ||||
| <div class="address-from-left"> | <div class="address-from-left"> | ||||
| 分组归类: | 分组归类: | ||||
| </div> | </div> | ||||
| <div class="address-from-right"> | <div class="address-from-right"> | ||||
| <input type="text" name="" class="form-control" placeholder="请输入分组归类"> | |||||
| <select name="addressGroup" class="form-control" placeholder="请选择分组归类"> | |||||
| <option value="">默认分组</option> | |||||
| <option th:each="item : ${rwkAddressGroups}" th:text="${item.groupName}" th:value="${item.id}"></option> | |||||
| </select> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </form> | </form> | ||||
| <th:block th:include="include :: footer" /> | <th:block th:include="include :: footer" /> | ||||
| <script th:inline="javascript"> | <script th:inline="javascript"> | ||||
| var prefix = ctx + "system/addressbook"; | |||||
| $("#form-addressbook-add").validate({ | |||||
| focusCleanup: true | |||||
| }); | |||||
| function submitHandler() { | |||||
| let bookname=$('#bookName').val(); | |||||
| if (bookname == '') { | |||||
| $.modal.alertWarning("请填写姓名再提交!"); | |||||
| return; | |||||
| }else { | |||||
| $.operate.save(prefix + "/address/add", $('#form-addressbook-add').serialize()); | |||||
| } | |||||
| } | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| @@ -13,18 +13,33 @@ | |||||
| <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | ||||
| <!-- </div>--> | <!-- </div>--> | ||||
| <!-- </ul>--> | <!-- </ul>--> | ||||
| <form class="form-horizontal"> | |||||
| <form class="form-group-add" id="form-group-add"> | |||||
| <div class="form-group" style="margin-left:48px;margin-top: 20px"> | <div class="form-group" style="margin-left:48px;margin-top: 20px"> | ||||
| <label class="col-sm-4 control-label is-required" style="float: left">组名称 :</label> | <label class="col-sm-4 control-label is-required" style="float: left">组名称 :</label> | ||||
| <div class="col-sm-8" style="float: left"> | <div class="col-sm-8" style="float: left"> | ||||
| <input name="groupname" class="form-control addgroup_frame" placeholder="请填写组名称" > | |||||
| <input id="groupName" name="groupName" class="form-control addgroup_frame" placeholder="请填写组名称" > | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </form> | </form> | ||||
| </div> | </div> | ||||
| <th:block th:include="include :: footer" /> | <th:block th:include="include :: footer" /> | ||||
| <script th:inline="javascript"> | <script th:inline="javascript"> | ||||
| var prefix = ctx + "system/addressbook"; | |||||
| $("#form-group-add").validate({ | |||||
| focusCleanup: true | |||||
| }); | |||||
| function submitHandler() { | |||||
| let gn=$('#groupName').val(); | |||||
| if (gn == '') { | |||||
| $.modal.alertWarning("请填写组名称再提交!"); | |||||
| return; | |||||
| }else { | |||||
| $.operate.save(prefix + "/addgroup/add", $('#form-group-add').serialize()); | |||||
| } | |||||
| } | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -16,13 +16,15 @@ | |||||
| <label>通讯录:</label> | <label>通讯录:</label> | ||||
| </li> | </li> | ||||
| <li class="flexLayout" style="float: right;"> | <li class="flexLayout" style="float: right;"> | ||||
| <input type="text" class="form-control searchTag" placeholder="搜索姓名关键字"/> | |||||
| <button class="btn btn-success" style="width:65px;margin-left: 10px;height: 36px;background-color: #185EFF;" onclick="$.table.search()"> | |||||
| <input type="text" name="bookName" class="form-control searchTag" placeholder="搜索姓名关键字"/> | |||||
| <a class="btn btn-success" style="width:65px;margin-left: 10px;height: 36px;background-color: #185EFF;" onclick="$.table.search()"> | |||||
| 搜索 | 搜索 | ||||
| </button> | |||||
| </a> | |||||
| </li> | </li> | ||||
| </ul> | </ul> | ||||
| </div> | </div> | ||||
| <input hidden type="text" name="addressGroup" id="addressGroup"> | |||||
| <input hidden type="text" name="keyword" id="keyword"> | |||||
| </form> | </form> | ||||
| </div> | </div> | ||||
| <div class="col-md-12"> | <div class="col-md-12"> | ||||
| @@ -40,20 +42,23 @@ | |||||
| 使用帮助 | 使用帮助 | ||||
| </a> | </a> | ||||
| </div> | </div> | ||||
| <div style="margin-top: 10px;"> | |||||
| <div style="margin-top: 10px;"> | |||||
| <a class="btn btn-style2" onclick="addressAdd()"> | <a class="btn btn-style2" onclick="addressAdd()"> | ||||
| 新建联系人 | 新建联系人 | ||||
| </a> | </a> | ||||
| <a class="btn btn-style2 multiple disabled"> | |||||
| <a class="btn btn-style2 multiple" id="deleteAddress" onclick="deleteAddress()"> | |||||
| 删除联系人 | 删除联系人 | ||||
| </a> | </a> | ||||
| <a class="btn btn-style2" onclick="addressgroupAdd()"> | <a class="btn btn-style2" onclick="addressgroupAdd()"> | ||||
| 创建组 | 创建组 | ||||
| </a> | </a> | ||||
| <a class="btn btn-style2"> | |||||
| <a class="btn btn-style2" id="deleteGroup" onclick="deleteAddressGroup()"> | |||||
| 删除组 | |||||
| </a> | |||||
| <a class="btn btn-style2" onclick="copyAddress()"> | |||||
| 复制到组 | 复制到组 | ||||
| </a> | </a> | ||||
| <a class="btn btn-style2"> | |||||
| <a class="btn btn-style2" id="moveGroup" onclick="moveAddress()"> | |||||
| 移动到组 | 移动到组 | ||||
| </a> | </a> | ||||
| <a class="btn btn-style2" onclick="$.table.search()"> | <a class="btn btn-style2" onclick="$.table.search()"> | ||||
| @@ -68,12 +73,12 @@ | |||||
| <div class="col-md-3"> | <div class="col-md-3"> | ||||
| <div id="groups" class="group-list"> | <div id="groups" class="group-list"> | ||||
| <ul> | <ul> | ||||
| <li><div>所有联系人(<span id="manTotal">11</span>)</div></li> | |||||
| <li><div>分组1(<span>4</span>)</div></li> | |||||
| <li><div>分组2(<span>7</span>)</div></li> | |||||
| <li><div>分组3(<span>1</span>)</div></li> | |||||
| <li><div>分组4(<span>0</span>)</div></li> | |||||
| <li><div>未分组联系人(<span id="notDivide">1</span>)</div></li> | |||||
| <li class="click click-bg" th:onclick="setOptionParam([[${item.id}]],[[${item.groupName}]])" th:if="${rwkAddressGroups != null}" th:each="item : ${allddressGroups}"> | |||||
| <div>[[${item.groupName}]](<span >[[${item.num}]]</span>)</div> | |||||
| </li> | |||||
| <li class="click" th:onclick="setOptionParam([[${item.id}]],[[${item.groupName}]])" th:if="${rwkAddressGroups != null}" th:each="item : ${rwkAddressGroups}"> | |||||
| <div>[[${item.groupName}]](<span >[[${item.num}]]</span>)</div> | |||||
| </li> | |||||
| </ul> | </ul> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -93,8 +98,38 @@ | |||||
| var editFlag =""; | var editFlag =""; | ||||
| $(function() { | $(function() { | ||||
| queryUserList(); | queryUserList(); | ||||
| queryGroupTree(); | |||||
| $('#deleteGroup').addClass("disabled"); | |||||
| $('#moveGroup').addClass("disabled"); | |||||
| }); | |||||
| $('#click-all').click(function () { | |||||
| $('#delete').removeClass("disabled"); | |||||
| }); | |||||
| var operateflag=false; | |||||
| /** | |||||
| * 点击修改背景色 按钮权限控制器 | |||||
| */ | |||||
| $('.click').click(function () { | |||||
| $('.click-bg').removeClass("click-bg"); | |||||
| this.classList.add("click-bg"); | |||||
| $('.click-bg').each(function(){ | |||||
| if ($(this).text().search("所有联系人")==-1){ | |||||
| $('#deleteAddress').addClass("disabled"); | |||||
| $('#moveGroup').removeClass("disabled"); | |||||
| $('#deleteGroup').removeClass("disabled"); | |||||
| operateflag=true; | |||||
| }else { | |||||
| $('#deleteAddress').removeClass("disabled"); | |||||
| $('#moveGroup').addClass("disabled"); | |||||
| $('#deleteGroup').addClass("disabled"); | |||||
| operateflag=false; | |||||
| } | |||||
| }); | |||||
| }); | }); | ||||
| //新增 | //新增 | ||||
| @@ -110,8 +145,10 @@ | |||||
| offset:'150px', | offset:'150px', | ||||
| anim:2, | anim:2, | ||||
| yes: function (index, layero) { | yes: function (index, layero) { | ||||
| var iframeWin = layero.find('iframe')[0]; | |||||
| iframeWin.contentWindow.submitHandler(index, layero); | |||||
| $.modal.close(index); | $.modal.close(index); | ||||
| $.table.refresh(); // 关闭后刷新表格数据(不刷新页面) | |||||
| window.location.reload(true); | |||||
| } | } | ||||
| }; | }; | ||||
| $.modal.openOptions(options); | $.modal.openOptions(options); | ||||
| @@ -130,21 +167,120 @@ | |||||
| offset:'150px', | offset:'150px', | ||||
| anim:2, | anim:2, | ||||
| yes: function (index, layero) { | yes: function (index, layero) { | ||||
| var iframeWin = layero.find('iframe')[0]; | |||||
| iframeWin.contentWindow.submitHandler(index, layero); | |||||
| $.modal.close(index); | |||||
| window.location.reload(true); | |||||
| } | |||||
| }; | |||||
| $.modal.openOptions(options); | |||||
| } | |||||
| //修改联系人 | |||||
| function editAddress(id) { | |||||
| var options = { | |||||
| title: ['修改联系人','text-align:center;font-size:18px;color:white;height:60px;line-height:60px;background-color:#0042a4'], | |||||
| url: prefix + "/edit/"+id, | |||||
| type:1, | |||||
| btn: ['确定','取消'], | |||||
| closeBtn: 0, | |||||
| width: 750, | |||||
| height: 520, | |||||
| offset:'150px', | |||||
| anim:2, | |||||
| yes: function (index, layero) { | |||||
| var iframeWin = layero.find('iframe')[0]; | |||||
| iframeWin.contentWindow.submitHandler(index, layero); | |||||
| $.modal.close(index); | $.modal.close(index); | ||||
| $.table.refresh(); // 关闭后刷新表格数据(不刷新页面) | |||||
| window.location.reload(true); | |||||
| } | } | ||||
| }; | }; | ||||
| $.modal.openOptions(options); | $.modal.openOptions(options); | ||||
| } | } | ||||
| // 复制到组 | |||||
| function copyAddress() { | |||||
| var rows = $.table.selectFirstColumns(); | |||||
| if (rows.length == 0) { | |||||
| $.modal.alertWarning("请至少选择一条记录"); | |||||
| return; | |||||
| }else { | |||||
| var options = { | |||||
| title: ['复制联系人','text-align:center;font-size:18px;color:white;height:60px;line-height:60px;background-color:#0042a4'], | |||||
| url: prefix + "/selectGroupsTree/"+rows, | |||||
| type:1, | |||||
| btn: ['确定','取消'], | |||||
| closeBtn: 0, | |||||
| width: 750, | |||||
| height: 520, | |||||
| offset:'150px', | |||||
| anim:2, | |||||
| yes: function (index, layero) { | |||||
| var iframeWin = layero.find('iframe')[0]; | |||||
| iframeWin.contentWindow.submitHandler(index, layero); | |||||
| $.modal.close(index); | |||||
| window.location.reload(true); | |||||
| } | |||||
| }; | |||||
| $.modal.openOptions(options); | |||||
| } | |||||
| } | |||||
| // 移动 | |||||
| function moveAddress() { | |||||
| var rows = $.table.selectFirstColumns(); | |||||
| if (rows.length == 0) { | |||||
| $.modal.alertWarning("请至少选择一条记录"); | |||||
| return; | |||||
| }else { | |||||
| var options = { | |||||
| title: ['移动联系人','text-align:center;font-size:18px;color:white;height:60px;line-height:60px;background-color:#0042a4'], | |||||
| url: prefix + "/selectGroupsTreeMove/"+rows+"gId="+operateGroupId, | |||||
| type:1, | |||||
| btn: ['确定','取消'], | |||||
| closeBtn: 0, | |||||
| width: 750, | |||||
| height: 520, | |||||
| offset:'150px', | |||||
| anim:2, | |||||
| yes: function (index, layero) { | |||||
| var iframeWin = layero.find('iframe')[0]; | |||||
| iframeWin.contentWindow.submitHandler(index, layero); | |||||
| $.modal.close(index); | |||||
| window.location.reload(true); | |||||
| } | |||||
| }; | |||||
| $.modal.openOptions(options); | |||||
| } | |||||
| } | |||||
| var operateAddressGroupName=''; | |||||
| var operateGroupId=''; | |||||
| function setOptionParam(id,name){ | |||||
| operateAddressGroupName=name; | |||||
| operateGroupId=id; | |||||
| $('#addressGroup').val(id); | |||||
| $('#keyword').val(name); | |||||
| $.table.search(); | |||||
| $('#keyword').val(''); | |||||
| } | |||||
| function queryUserList() { | function queryUserList() { | ||||
| var options = { | var options = { | ||||
| url: prefix + "/list", | url: prefix + "/list", | ||||
| editUrl: prefix + "/edit/{id}", | |||||
| height: 580, | height: 580, | ||||
| pagination:false, | pagination:false, | ||||
| sidePagination: "client", | sidePagination: "client", | ||||
| virtualScroll: true, | virtualScroll: true, | ||||
| modalName: "人员信息", | modalName: "人员信息", | ||||
| showFooter: false, | |||||
| showSearch: false, | |||||
| showRefresh: false, | |||||
| showToggle: false, | |||||
| showColumns: false, | |||||
| columns: [{ | columns: [{ | ||||
| checkbox: true, | checkbox: true, | ||||
| }, | }, | ||||
| @@ -186,9 +322,11 @@ | |||||
| align: 'center', | align: 'center', | ||||
| formatter: function(value, row, index) { | formatter: function(value, row, index) { | ||||
| var actions = []; | var actions = []; | ||||
| actions.push('<a class="btn-style3 ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')">编辑</a> '); | |||||
| actions.push('|'); | |||||
| actions.push('<a class="btn-style3" href="javascript:void(0)">详情</a>'); | |||||
| actions.push('<a class="btn-style3 ' + editFlag + '" href="javascript:void(0)" onclick="editAddress(\'' + row.id + '\')">编辑</a> '); | |||||
| if (operateflag){ | |||||
| actions.push('|'); | |||||
| actions.push('<a class="btn-style3" href="javascript:void(0)" onclick="deleteGroup(\'' + row.id + '\')">删除关系</a>'); | |||||
| } | |||||
| return actions.join(''); | return actions.join(''); | ||||
| } | } | ||||
| }] | }] | ||||
| @@ -196,8 +334,34 @@ | |||||
| $.table.init(options); | $.table.init(options); | ||||
| } | } | ||||
| function queryGroupTree() { | |||||
| function deleteGroup(id) { | |||||
| var url=prefix + "/addgroup/delete"; | |||||
| var data = { "ids": id }; | |||||
| $.operate.submit(url, "post", "json", data); | |||||
| window.location.reload(true); | |||||
| } | |||||
| function deleteAddressGroup() { | |||||
| $.modal.confirm("确认要删除选中的[<span style='color: orange'>"+operateAddressGroupName+"</span>]吗?<br><span style='color: red'>注:其分组下的成员关系都将被删除</span>", function() { | |||||
| var url =prefix + "/addgroup/delete/all"; | |||||
| var data = { "groupid": operateGroupId,"groupname":operateAddressGroupName }; | |||||
| $.operate.submit(url, "post", "json", data); | |||||
| parent.location.reload(true); | |||||
| }); | |||||
| } | |||||
| function deleteAddress() { | |||||
| var url =prefix + "/address/delete"; | |||||
| var rows = $.table.selectFirstColumns(); | |||||
| if (rows.length == 0) { | |||||
| $.modal.alertWarning("请至少选择一条记录"); | |||||
| return; | |||||
| } | |||||
| $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { | |||||
| var ids = { "ids": rows.join() }; | |||||
| $.operate.submit(url, "post", "json", ids); | |||||
| parent.location.reload(true); | |||||
| }); | |||||
| } | } | ||||
| </script> | </script> | ||||
| </html> | </html> | ||||
| @@ -0,0 +1,70 @@ | |||||
| <!DOCTYPE html> | |||||
| <html lang="zh" xmlns:th="http://www.thymeleaf.org" > | |||||
| <head> | |||||
| <th:block th:include="include :: header('修改联系人')" /> | |||||
| <!-- <link th:href="@{/css/use/css1.css}" rel="stylesheet"/>--> | |||||
| <link th:href="@{/ruoyi/css/address.css}" rel="stylesheet"/> | |||||
| <th:block th:include="include :: bootstrap-duallistbox-css" /> | |||||
| </head> | |||||
| <body class="white-bg"> | |||||
| <div style="height: 50px;width: 100%"></div> | |||||
| <form class="form-horizontal" id="form-addressbook-edit" th:object="${rwkAddressBook}"> | |||||
| <input name="id" th:field="*{id}" type="hidden"> | |||||
| <div class="col-md-12" > | |||||
| <div class="form-group" > | |||||
| <div class="address-from-left"> | |||||
| <span style="color: red">*</span>姓名: | |||||
| </div> | |||||
| <div class="address-from-right"> | |||||
| <input type="text" id="bookName" name="bookName" th:field="*{bookName}" class="form-control" placeholder="请输入姓名"> | |||||
| </div> | |||||
| </div> | |||||
| <div class="form-group" style="margin-top: 30px"> | |||||
| <div class="address-from-left"> | |||||
| 电话: | |||||
| </div> | |||||
| <div class="address-from-right"> | |||||
| <input type="text" name="information" class="form-control" th:field="*{information}" placeholder="请输入电话"> | |||||
| </div> | |||||
| </div> | |||||
| <div class="form-group" style="margin-top: 30px"> | |||||
| <div class="address-from-left"> | |||||
| Email: | |||||
| </div> | |||||
| <div class="address-from-right"> | |||||
| <input type="text" name="email" class="form-control" th:field="*{email}" placeholder="请输入Email"> | |||||
| </div> | |||||
| </div> | |||||
| <div class="form-group" style="margin-top: 30px"> | |||||
| <div class="address-from-left"> | |||||
| 其他联系方式: | |||||
| </div> | |||||
| <div class="address-from-right"> | |||||
| <input type="text" name="othersInf" class="form-control" th:field="*{othersInf}" placeholder="请输入其他联系方式"> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </form> | |||||
| <th:block th:include="include :: footer" /> | |||||
| <script th:inline="javascript"> | |||||
| var prefix = ctx + "system/addressbook"; | |||||
| $("#form-addressbook-edit").validate({ | |||||
| focusCleanup: true | |||||
| }); | |||||
| function submitHandler() { | |||||
| let bookname=$('#bookName').val(); | |||||
| if (bookname == '') { | |||||
| $.modal.alertWarning("请填写姓名再提交!"); | |||||
| return; | |||||
| }else { | |||||
| $.operate.save(prefix + "/address/edit", $('#form-addressbook-edit').serialize()); | |||||
| } | |||||
| } | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @@ -0,0 +1,68 @@ | |||||
| <!DOCTYPE html> | |||||
| <html lang="zh" xmlns:th="http://www.thymeleaf.org" > | |||||
| <head> | |||||
| <th:block th:include="include :: header('移动/复制')" /> | |||||
| <link th:href="@{/css/use/css1.css}" rel="stylesheet"/> | |||||
| <link th:href="@{/ruoyi/css/address.css}" rel="stylesheet"/> | |||||
| <th:block th:include="include :: bootstrap-duallistbox-css" /> | |||||
| </head> | |||||
| <body class="white-bg"> | |||||
| <div class="wrapper wrapper-content animated fadeInRight ibox-content"> | |||||
| <!-- <ul class="nav head_top" id="tab">--> | |||||
| <!-- <div class="text-right hidden-print" style="float: right">--> | |||||
| <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | |||||
| <!-- </div>--> | |||||
| <!-- </ul>--> | |||||
| <form class="form-group" id="form-group"> | |||||
| <input hidden type="text" name="addressIds" id="addressIds" th:value="${addressIds}"> | |||||
| <input hidden type="text" name="groupIds" id="groupIds" > | |||||
| <div class="col-md-12"> | |||||
| <div class="col-md-3"> | |||||
| <div id="groups" class="group-list"> | |||||
| <ul> | |||||
| <li class="click" th:onclick="setgroupids([[${item.id}]],this)" th:if="${groups != null}" th:each="item : ${groups}"> | |||||
| <div>[[${item.groupName}]]</div> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </form> | |||||
| </div> | |||||
| <th:block th:include="include :: footer" /> | |||||
| <script th:inline="javascript"> | |||||
| var prefix = ctx + "system/addressbook"; | |||||
| let groupids = []; | |||||
| function setgroupids(id,object) { | |||||
| if (hasClass(object,"click-bg")){ | |||||
| let index = groupids.indexOf(id); | |||||
| if (index !== -1) { | |||||
| groupids.splice(index, 1); | |||||
| } | |||||
| object.classList.remove("click-bg"); | |||||
| }else { | |||||
| groupids.push(id); | |||||
| object.classList.add("click-bg"); | |||||
| } | |||||
| } | |||||
| function hasClass (ele, className) { | |||||
| var reg = new RegExp('(^|\\s)' + className + '(\\s|$)') | |||||
| return reg.test(ele.className) | |||||
| } | |||||
| function submitHandler() { | |||||
| if (groupids.length==0){ | |||||
| $.modal.alertWarning("请选择组名再提交!"); | |||||
| return; | |||||
| }else { | |||||
| $('#groupIds').val(groupids.toString()); | |||||
| $.operate.save(prefix + "/address/copy", $('#form-group').serialize()); | |||||
| } | |||||
| } | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @@ -0,0 +1,62 @@ | |||||
| <!DOCTYPE html> | |||||
| <html lang="zh" xmlns:th="http://www.thymeleaf.org" > | |||||
| <head> | |||||
| <th:block th:include="include :: header('移动/复制')" /> | |||||
| <link th:href="@{/css/use/css1.css}" rel="stylesheet"/> | |||||
| <link th:href="@{/ruoyi/css/address.css}" rel="stylesheet"/> | |||||
| <th:block th:include="include :: bootstrap-duallistbox-css" /> | |||||
| </head> | |||||
| <body class="white-bg"> | |||||
| <div class="wrapper wrapper-content animated fadeInRight ibox-content"> | |||||
| <!-- <ul class="nav head_top" id="tab">--> | |||||
| <!-- <div class="text-right hidden-print" style="float: right">--> | |||||
| <!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | |||||
| <!-- </div>--> | |||||
| <!-- </ul>--> | |||||
| <form class="form-group" id="form-group"> | |||||
| <input hidden type="text" name="addressIds" id="addressIds" th:value="${addressIds}"> | |||||
| <input hidden type="text" name="byGroupId" id="byGroupId" th:value="${byGroupId}"> | |||||
| <input hidden type="text" name="groupIds" id="groupIds" > | |||||
| <div class="col-md-12"> | |||||
| <div class="col-md-3"> | |||||
| <div id="groups" class="group-list"> | |||||
| <ul> | |||||
| <li class="click" th:onclick="setgroupids([[${item.id}]],this)" th:if="${groups != null}" th:each="item : ${groups}"> | |||||
| <div>[[${item.groupName}]]</div> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| </form> | |||||
| </div> | |||||
| <th:block th:include="include :: footer" /> | |||||
| <script th:inline="javascript"> | |||||
| var prefix = ctx + "system/addressbook"; | |||||
| let groupids = ""; | |||||
| function setgroupids(id,object) { | |||||
| groupids=id; | |||||
| $('.click-bg').removeClass("click-bg"); | |||||
| object.classList.add("click-bg"); | |||||
| } | |||||
| function hasClass (ele, className) { | |||||
| var reg = new RegExp('(^|\\s)' + className + '(\\s|$)') | |||||
| return reg.test(ele.className) | |||||
| } | |||||
| function submitHandler() { | |||||
| if (groupids.length==0){ | |||||
| $.modal.alertWarning("请选择组名再提交!"); | |||||
| return; | |||||
| }else { | |||||
| $('#groupIds').val(groupids.toString()); | |||||
| $.operate.update(prefix + "/address/move", $('#form-group').serialize()); | |||||
| } | |||||
| } | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @@ -45,6 +45,12 @@ public class RwkAddressBook extends BaseEntity | |||||
| @Excel(name = "其他联系方式") | @Excel(name = "其他联系方式") | ||||
| private String othersInf; | private String othersInf; | ||||
| /** 部门id */ | |||||
| private Long deptId; | |||||
| /** sql查询条件 */ | |||||
| private String keyword; | |||||
| public void setId(Long id) | public void setId(Long id) | ||||
| { | { | ||||
| this.id = id; | this.id = id; | ||||
| @@ -55,7 +61,23 @@ public class RwkAddressBook extends BaseEntity | |||||
| return id; | return id; | ||||
| } | } | ||||
| public void setBookName(String bookName) | |||||
| public String getKeyword() { | |||||
| return keyword; | |||||
| } | |||||
| public void setKeyword(String keyword) { | |||||
| this.keyword = keyword; | |||||
| } | |||||
| public Long getDeptId() { | |||||
| return deptId; | |||||
| } | |||||
| public void setDeptId(Long deptId) { | |||||
| this.deptId = deptId; | |||||
| } | |||||
| public void setBookName(String bookName) | |||||
| { | { | ||||
| this.bookName = bookName; | this.bookName = bookName; | ||||
| } | } | ||||
| @@ -117,14 +139,15 @@ public class RwkAddressBook extends BaseEntity | |||||
| @Override | @Override | ||||
| public String toString() { | public String toString() { | ||||
| return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | |||||
| .append("id", getId()) | |||||
| .append("bookName", getBookName()) | |||||
| .append("information", getInformation()) | |||||
| .append("addressGroup", getAddressGroup()) | |||||
| .append("createDate", getCreateDate()) | |||||
| .append("email", getEmail()) | |||||
| .append("othersInf", getOthersInf()) | |||||
| .toString(); | |||||
| return "RwkAddressBook{" + | |||||
| "id=" + id + | |||||
| ", bookName='" + bookName + '\'' + | |||||
| ", information='" + information + '\'' + | |||||
| ", addressGroup=" + addressGroup + | |||||
| ", createDate=" + createDate + | |||||
| ", email='" + email + '\'' + | |||||
| ", othersInf='" + othersInf + '\'' + | |||||
| ", deptId=" + deptId + | |||||
| '}'; | |||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,95 @@ | |||||
| package com.rwk.system.domain; | |||||
| import org.apache.commons.lang3.builder.ToStringBuilder; | |||||
| import org.apache.commons.lang3.builder.ToStringStyle; | |||||
| import com.rwk.common.annotation.Excel; | |||||
| import com.rwk.common.core.domain.BaseEntity; | |||||
| import java.util.Date; | |||||
| /** | |||||
| * 【请填写功能名称】对象 rwk_address_group | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public class RwkAddressGroup extends BaseEntity | |||||
| { | |||||
| private static final long serialVersionUID = 1L; | |||||
| /** $column.columnComment */ | |||||
| private Long id; | |||||
| /** 分组名称 */ | |||||
| @Excel(name = "分组名称") | |||||
| private String groupName; | |||||
| /** 分组归属账号 */ | |||||
| @Excel(name = "分组归属账号") | |||||
| private String groupByUser; | |||||
| /** 分组创建时间 */ | |||||
| @Excel(name = "分组创建时间") | |||||
| private Date createTime; | |||||
| /** 统计人数 */ | |||||
| private Integer num; | |||||
| @Override | |||||
| public Date getCreateTime() { | |||||
| return createTime; | |||||
| } | |||||
| @Override | |||||
| public void setCreateTime(Date createTime) { | |||||
| this.createTime = createTime; | |||||
| } | |||||
| public void setId(Long id) | |||||
| { | |||||
| this.id = id; | |||||
| } | |||||
| public Long getId() | |||||
| { | |||||
| return id; | |||||
| } | |||||
| public Integer getNum() { | |||||
| return num; | |||||
| } | |||||
| public void setNum(Integer num) { | |||||
| this.num = num; | |||||
| } | |||||
| public void setGroupName(String groupName) | |||||
| { | |||||
| this.groupName = groupName; | |||||
| } | |||||
| public String getGroupName() | |||||
| { | |||||
| return groupName; | |||||
| } | |||||
| public void setGroupByUser(String groupByUser) | |||||
| { | |||||
| this.groupByUser = groupByUser; | |||||
| } | |||||
| public String getGroupByUser() | |||||
| { | |||||
| return groupByUser; | |||||
| } | |||||
| @Override | |||||
| public String toString() { | |||||
| return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | |||||
| .append("id", getId()) | |||||
| .append("groupName", getGroupName()) | |||||
| .append("groupByUser", getGroupByUser()) | |||||
| .append("createTime", getCreateTime()) | |||||
| .toString(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,51 @@ | |||||
| package com.rwk.system.domain; | |||||
| import org.apache.commons.lang3.builder.ToStringBuilder; | |||||
| import org.apache.commons.lang3.builder.ToStringStyle; | |||||
| import com.rwk.common.annotation.Excel; | |||||
| import com.rwk.common.core.domain.BaseEntity; | |||||
| /** | |||||
| * 【请填写功能名称】对象 rwk_book_group | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public class RwkBookGroup extends BaseEntity | |||||
| { | |||||
| private static final long serialVersionUID = 1L; | |||||
| /** 通讯录id */ | |||||
| @Excel(name = "通讯录id") | |||||
| private Long bookId; | |||||
| /** 分组id */ | |||||
| @Excel(name = "分组id") | |||||
| private Long groupId; | |||||
| public void setBookId(Long bookId) | |||||
| { | |||||
| this.bookId = bookId; | |||||
| } | |||||
| public Long getBookId() | |||||
| { | |||||
| return bookId; | |||||
| } | |||||
| public Long getGroupId() { | |||||
| return groupId; | |||||
| } | |||||
| public void setGroupId(Long groupId) { | |||||
| this.groupId = groupId; | |||||
| } | |||||
| @Override | |||||
| public String toString() { | |||||
| return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | |||||
| .append("bookId", getBookId()) | |||||
| .append("groupId", getGroupId()) | |||||
| .toString(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,4 @@ | |||||
| package com.rwk.system.domain; | |||||
| public class RwkBookGroupVo { | |||||
| } | |||||
| @@ -26,6 +26,7 @@ public interface RwkAddressBookMapper | |||||
| * @return 通讯录主集合 | * @return 通讯录主集合 | ||||
| */ | */ | ||||
| public List<RwkAddressBook> selectRwkAddressBookList(RwkAddressBook rwkAddressBook); | public List<RwkAddressBook> selectRwkAddressBookList(RwkAddressBook rwkAddressBook); | ||||
| public List<RwkAddressBook> selectRwkAddressBookListKeyWord(RwkAddressBook rwkAddressBook); | |||||
| /** | /** | ||||
| * 新增通讯录主 | * 新增通讯录主 | ||||
| @@ -0,0 +1,61 @@ | |||||
| package com.rwk.system.mapper; | |||||
| import java.util.List; | |||||
| import com.rwk.system.domain.RwkAddressGroup; | |||||
| /** | |||||
| * 【请填写功能名称】Mapper接口 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public interface RwkAddressGroupMapper | |||||
| { | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| public RwkAddressGroup selectRwkAddressGroupById(Long id); | |||||
| /** | |||||
| * 查询分组列表 | |||||
| */ | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupList(String username); | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListAllByDept(Long deptId); | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListLackByDept(Long deptId); | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int insertRwkAddressGroup(RwkAddressGroup rwkAddressGroup); | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int updateRwkAddressGroup(RwkAddressGroup rwkAddressGroup); | |||||
| /** | |||||
| * 删除【请填写功能名称】 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkAddressGroupById(Long id); | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param ids 需要删除的数据主键集合 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkAddressGroupByIds(String[] ids); | |||||
| } | |||||
| @@ -0,0 +1,65 @@ | |||||
| package com.rwk.system.mapper; | |||||
| import java.util.List; | |||||
| import com.rwk.system.domain.RwkBookGroup; | |||||
| import org.apache.ibatis.annotations.Param; | |||||
| /** | |||||
| * 【请填写功能名称】Mapper接口 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public interface RwkBookGroupMapper | |||||
| { | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| public RwkBookGroup selectRwkBookGroupByBookId(Long bookId); | |||||
| /** | |||||
| * 查询【请填写功能名称】列表 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 【请填写功能名称】集合 | |||||
| */ | |||||
| public List<RwkBookGroup> selectRwkBookGroupList(RwkBookGroup rwkBookGroup); | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int insertRwkBookGroup(RwkBookGroup rwkBookGroup); | |||||
| public int insertRwkBookGroupList(@Param("rwkBookGroups") List<RwkBookGroup> rwkBookGroups); | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int updateRwkBookGroup(RwkBookGroup rwkBookGroup); | |||||
| /** | |||||
| * 删除【请填写功能名称】 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkBookGroupByBookId(Long bookId); | |||||
| public int deleteRwkBookGroupByGroupId(Long groupId); | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param bookIds 需要删除的数据主键集合 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkBookGroupByBookIds(String[] bookIds); | |||||
| } | |||||
| @@ -0,0 +1,70 @@ | |||||
| package com.rwk.system.service; | |||||
| import java.util.List; | |||||
| import com.rwk.system.domain.RwkAddressGroup; | |||||
| /** | |||||
| * 【请填写功能名称】Service接口 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public interface IRwkAddressGroupService | |||||
| { | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| public RwkAddressGroup selectRwkAddressGroupById(Long id); | |||||
| /** | |||||
| * 查询通讯录分组列表 | |||||
| * | |||||
| * @param | |||||
| * @return | |||||
| */ | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupList(String username); | |||||
| /** | |||||
| * 查询通讯录分组列表 | |||||
| * | |||||
| * @param | |||||
| * @return | |||||
| */ | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListAllByDept(Long deptId); | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListLackByDept(Long deptId); | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int insertRwkAddressGroup(RwkAddressGroup rwkAddressGroup); | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int updateRwkAddressGroup(RwkAddressGroup rwkAddressGroup); | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param ids 需要删除的【请填写功能名称】主键集合 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkAddressGroupByIds(String ids); | |||||
| /** | |||||
| * 删除【请填写功能名称】信息 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkAddressGroupById(Long id); | |||||
| } | |||||
| @@ -0,0 +1,64 @@ | |||||
| package com.rwk.system.service; | |||||
| import java.util.List; | |||||
| import com.rwk.system.domain.RwkBookGroup; | |||||
| /** | |||||
| * 【请填写功能名称】Service接口 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| public interface IRwkBookGroupService | |||||
| { | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| public RwkBookGroup selectRwkBookGroupByBookId(Long bookId); | |||||
| /** | |||||
| * 查询【请填写功能名称】列表 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 【请填写功能名称】集合 | |||||
| */ | |||||
| public List<RwkBookGroup> selectRwkBookGroupList(RwkBookGroup rwkBookGroup); | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int insertRwkBookGroup(RwkBookGroup rwkBookGroup); | |||||
| public int insertRwkBookGroupList(List<RwkBookGroup> rwkBookGroups); | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int updateRwkBookGroup(RwkBookGroup rwkBookGroup); | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param bookIds 需要删除的【请填写功能名称】主键集合 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkBookGroupByBookIds(String bookIds); | |||||
| /** | |||||
| * 删除【请填写功能名称】信息 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| public int deleteRwkBookGroupByBookId(Long bookId); | |||||
| public int deleteRwkBookGroupByGroupId(Long groupId); | |||||
| } | |||||
| @@ -1,6 +1,13 @@ | |||||
| package com.rwk.system.service.impl; | package com.rwk.system.service.impl; | ||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | |||||
| import java.util.List; | import java.util.List; | ||||
| import com.rwk.common.core.domain.entity.SysUser; | |||||
| import com.rwk.common.utils.ShiroUtils; | |||||
| import com.rwk.system.domain.RwkBookGroup; | |||||
| import com.rwk.system.mapper.RwkBookGroupMapper; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import com.rwk.system.mapper.RwkAddressBookMapper; | import com.rwk.system.mapper.RwkAddressBookMapper; | ||||
| @@ -20,6 +27,9 @@ public class RwkAddressBookServiceImpl implements IRwkAddressBookService | |||||
| @Autowired | @Autowired | ||||
| private RwkAddressBookMapper rwkAddressBookMapper; | private RwkAddressBookMapper rwkAddressBookMapper; | ||||
| @Autowired | |||||
| private RwkBookGroupMapper rwkBookGroupMapper; | |||||
| /** | /** | ||||
| * 查询通讯录主 | * 查询通讯录主 | ||||
| * | * | ||||
| @@ -41,7 +51,16 @@ public class RwkAddressBookServiceImpl implements IRwkAddressBookService | |||||
| @Override | @Override | ||||
| public List<RwkAddressBook> selectRwkAddressBookList(RwkAddressBook rwkAddressBook) | public List<RwkAddressBook> selectRwkAddressBookList(RwkAddressBook rwkAddressBook) | ||||
| { | { | ||||
| return rwkAddressBookMapper.selectRwkAddressBookList(rwkAddressBook); | |||||
| List<RwkAddressBook> list = new ArrayList<RwkAddressBook>(); | |||||
| String keyword = rwkAddressBook.getKeyword(); | |||||
| SysUser sysUser = ShiroUtils.getSysUser(); | |||||
| rwkAddressBook.setDeptId(sysUser.getDeptId()); | |||||
| if (keyword.equals("未分组联系人")){ | |||||
| list= rwkAddressBookMapper.selectRwkAddressBookListKeyWord(rwkAddressBook); | |||||
| }else { | |||||
| list= rwkAddressBookMapper.selectRwkAddressBookList(rwkAddressBook); | |||||
| } | |||||
| return list; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -53,7 +72,13 @@ public class RwkAddressBookServiceImpl implements IRwkAddressBookService | |||||
| @Override | @Override | ||||
| public int insertRwkAddressBook(RwkAddressBook rwkAddressBook) | public int insertRwkAddressBook(RwkAddressBook rwkAddressBook) | ||||
| { | { | ||||
| return rwkAddressBookMapper.insertRwkAddressBook(rwkAddressBook); | |||||
| RwkBookGroup rbg= new RwkBookGroup(); | |||||
| rbg.setGroupId(rwkAddressBook.getAddressGroup()); | |||||
| rwkAddressBookMapper.insertRwkAddressBook(rwkAddressBook); | |||||
| rbg.setBookId(rwkAddressBook.getId()); | |||||
| rwkAddressBook.setCreateDate(new Date()); | |||||
| return rwkBookGroupMapper.insertRwkBookGroup(rbg); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -77,6 +102,7 @@ public class RwkAddressBookServiceImpl implements IRwkAddressBookService | |||||
| @Override | @Override | ||||
| public int deleteRwkAddressBookByIds(String ids) | public int deleteRwkAddressBookByIds(String ids) | ||||
| { | { | ||||
| rwkBookGroupMapper.deleteRwkBookGroupByBookIds(Convert.toStrArray(ids)); | |||||
| return rwkAddressBookMapper.deleteRwkAddressBookByIds(Convert.toStrArray(ids)); | return rwkAddressBookMapper.deleteRwkAddressBookByIds(Convert.toStrArray(ids)); | ||||
| } | } | ||||
| @@ -0,0 +1,102 @@ | |||||
| package com.rwk.system.service.impl; | |||||
| import java.util.List; | |||||
| import com.rwk.common.utils.DateUtils; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| import com.rwk.system.mapper.RwkAddressGroupMapper; | |||||
| import com.rwk.system.domain.RwkAddressGroup; | |||||
| import com.rwk.system.service.IRwkAddressGroupService; | |||||
| import com.rwk.common.core.text.Convert; | |||||
| /** | |||||
| * 【请填写功能名称】Service业务层处理 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| @Service | |||||
| public class RwkAddressGroupServiceImpl implements IRwkAddressGroupService | |||||
| { | |||||
| @Autowired | |||||
| private RwkAddressGroupMapper rwkAddressGroupMapper; | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| @Override | |||||
| public RwkAddressGroup selectRwkAddressGroupById(Long id) | |||||
| { | |||||
| return rwkAddressGroupMapper.selectRwkAddressGroupById(id); | |||||
| } | |||||
| @Override | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupList(String username) | |||||
| { | |||||
| return rwkAddressGroupMapper.selectRwkAddressGroupList(username); | |||||
| } | |||||
| @Override | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListAllByDept(Long deptId) | |||||
| { | |||||
| return rwkAddressGroupMapper.selectRwkAddressGroupListAllByDept(deptId); | |||||
| } | |||||
| @Override | |||||
| public List<RwkAddressGroup> selectRwkAddressGroupListLackByDept(Long deptId) | |||||
| { | |||||
| return rwkAddressGroupMapper.selectRwkAddressGroupListLackByDept(deptId); | |||||
| } | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int insertRwkAddressGroup(RwkAddressGroup rwkAddressGroup) | |||||
| { | |||||
| rwkAddressGroup.setCreateTime(DateUtils.getNowDate()); | |||||
| return rwkAddressGroupMapper.insertRwkAddressGroup(rwkAddressGroup); | |||||
| } | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkAddressGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int updateRwkAddressGroup(RwkAddressGroup rwkAddressGroup) | |||||
| { | |||||
| return rwkAddressGroupMapper.updateRwkAddressGroup(rwkAddressGroup); | |||||
| } | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param ids 需要删除的【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int deleteRwkAddressGroupByIds(String ids) | |||||
| { | |||||
| return rwkAddressGroupMapper.deleteRwkAddressGroupByIds(Convert.toStrArray(ids)); | |||||
| } | |||||
| /** | |||||
| * 删除【请填写功能名称】信息 | |||||
| * | |||||
| * @param id 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int deleteRwkAddressGroupById(Long id) | |||||
| { | |||||
| return rwkAddressGroupMapper.deleteRwkAddressGroupById(id); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,114 @@ | |||||
| package com.rwk.system.service.impl; | |||||
| import java.util.List; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| import com.rwk.system.mapper.RwkBookGroupMapper; | |||||
| import com.rwk.system.domain.RwkBookGroup; | |||||
| import com.rwk.system.service.IRwkBookGroupService; | |||||
| import com.rwk.common.core.text.Convert; | |||||
| /** | |||||
| * 【请填写功能名称】Service业务层处理 | |||||
| * | |||||
| * @author ruoyi | |||||
| * @date 2024-12-16 | |||||
| */ | |||||
| @Service | |||||
| public class RwkBookGroupServiceImpl implements IRwkBookGroupService | |||||
| { | |||||
| @Autowired | |||||
| private RwkBookGroupMapper rwkBookGroupMapper; | |||||
| /** | |||||
| * 查询【请填写功能名称】 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| @Override | |||||
| public RwkBookGroup selectRwkBookGroupByBookId(Long bookId) | |||||
| { | |||||
| return rwkBookGroupMapper.selectRwkBookGroupByBookId(bookId); | |||||
| } | |||||
| /** | |||||
| * 查询【请填写功能名称】列表 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 【请填写功能名称】 | |||||
| */ | |||||
| @Override | |||||
| public List<RwkBookGroup> selectRwkBookGroupList(RwkBookGroup rwkBookGroup) | |||||
| { | |||||
| return rwkBookGroupMapper.selectRwkBookGroupList(rwkBookGroup); | |||||
| } | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int insertRwkBookGroup(RwkBookGroup rwkBookGroup) | |||||
| { | |||||
| return rwkBookGroupMapper.insertRwkBookGroup(rwkBookGroup); | |||||
| } | |||||
| /** | |||||
| * 新增【请填写功能名称】 | |||||
| * | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int insertRwkBookGroupList(List<RwkBookGroup> rwkBookGroups) | |||||
| { | |||||
| return rwkBookGroupMapper.insertRwkBookGroupList(rwkBookGroups); | |||||
| } | |||||
| /** | |||||
| * 修改【请填写功能名称】 | |||||
| * | |||||
| * @param rwkBookGroup 【请填写功能名称】 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int updateRwkBookGroup(RwkBookGroup rwkBookGroup) | |||||
| { | |||||
| return rwkBookGroupMapper.updateRwkBookGroup(rwkBookGroup); | |||||
| } | |||||
| /** | |||||
| * 批量删除【请填写功能名称】 | |||||
| * | |||||
| * @param bookIds 需要删除的【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int deleteRwkBookGroupByBookIds(String bookIds) | |||||
| { | |||||
| return rwkBookGroupMapper.deleteRwkBookGroupByBookIds(Convert.toStrArray(bookIds)); | |||||
| } | |||||
| /** | |||||
| * 删除【请填写功能名称】信息 | |||||
| * | |||||
| * @param bookId 【请填写功能名称】主键 | |||||
| * @return 结果 | |||||
| */ | |||||
| @Override | |||||
| public int deleteRwkBookGroupByBookId(Long bookId) | |||||
| { | |||||
| return rwkBookGroupMapper.deleteRwkBookGroupByBookId(bookId); | |||||
| } | |||||
| @Override | |||||
| public int deleteRwkBookGroupByGroupId(Long groupId) | |||||
| { | |||||
| return rwkBookGroupMapper.deleteRwkBookGroupByGroupId(groupId); | |||||
| } | |||||
| } | |||||
| @@ -12,10 +12,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
| <result property="createDate" column="create_date" /> | <result property="createDate" column="create_date" /> | ||||
| <result property="email" column="email" /> | <result property="email" column="email" /> | ||||
| <result property="othersInf" column="others_inf" /> | <result property="othersInf" column="others_inf" /> | ||||
| <result property="deptId" column="dept_id" /> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="selectRwkAddressBookVo"> | <sql id="selectRwkAddressBookVo"> | ||||
| select id, book_name, information, address_group, create_date, email, others_inf from rwk_address_book | |||||
| select id, book_name, information, address_group, create_date, email, others_inf,dept_id from rwk_address_book | |||||
| </sql> | </sql> | ||||
| <select id="selectRwkAddressBookList" parameterType="RwkAddressBook" resultMap="RwkAddressBookResult"> | <select id="selectRwkAddressBookList" parameterType="RwkAddressBook" resultMap="RwkAddressBookResult"> | ||||
| @@ -23,12 +24,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
| <where> | <where> | ||||
| <if test="bookName != null and bookName != ''"> and book_name like concat('%', #{bookName}, '%')</if> | <if test="bookName != null and bookName != ''"> and book_name like concat('%', #{bookName}, '%')</if> | ||||
| <if test="information != null and information != ''"> and information = #{information}</if> | <if test="information != null and information != ''"> and information = #{information}</if> | ||||
| <if test="addressGroup != null "> and address_group = #{addressGroup}</if> | |||||
| <if test="createDate != null "> and create_date = #{createDate}</if> | <if test="createDate != null "> and create_date = #{createDate}</if> | ||||
| <if test="email != null and email != ''"> and email = #{email}</if> | <if test="email != null and email != ''"> and email = #{email}</if> | ||||
| <if test="othersInf != null and othersInf != ''"> and others_inf = #{othersInf}</if> | <if test="othersInf != null and othersInf != ''"> and others_inf = #{othersInf}</if> | ||||
| <if test="deptId != null and deptId != ''"> and dept_id = #{deptId}</if> | |||||
| <if test="addressGroup != null and addressGroup != ''">and id in( select book_id from RWK_BOOK_GROUP where group_id=#{addressGroup})</if> | |||||
| </where> | </where> | ||||
| </select> | |||||
| <select id="selectRwkAddressBookListKeyWord" parameterType="RwkAddressBook" resultMap="RwkAddressBookResult"> | |||||
| <include refid="selectRwkAddressBookVo"/> | |||||
| where dept_id=#{deptId} | |||||
| <if test="bookName != null and bookName != ''"> and book_name like concat('%', #{bookName}, '%')</if> | |||||
| <if test="addressGroup != null and addressGroup != ''">and id not in( select book_id from RWK_BOOK_GROUP where group_id=#{addressGroup})</if> | |||||
| </select> | </select> | ||||
| <select id="selectRwkAddressBookById" parameterType="Long" resultMap="RwkAddressBookResult"> | <select id="selectRwkAddressBookById" parameterType="Long" resultMap="RwkAddressBookResult"> | ||||
| <include refid="selectRwkAddressBookVo"/> | <include refid="selectRwkAddressBookVo"/> | ||||
| @@ -44,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
| <if test="createDate != null">create_date,</if> | <if test="createDate != null">create_date,</if> | ||||
| <if test="email != null">email,</if> | <if test="email != null">email,</if> | ||||
| <if test="othersInf != null">others_inf,</if> | <if test="othersInf != null">others_inf,</if> | ||||
| <if test="deptId != null">dept_id,</if> | |||||
| </trim> | </trim> | ||||
| <trim prefix="values (" suffix=")" suffixOverrides=","> | <trim prefix="values (" suffix=")" suffixOverrides=","> | ||||
| <if test="bookName != null">#{bookName},</if> | <if test="bookName != null">#{bookName},</if> | ||||
| @@ -52,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
| <if test="createDate != null">#{createDate},</if> | <if test="createDate != null">#{createDate},</if> | ||||
| <if test="email != null">#{email},</if> | <if test="email != null">#{email},</if> | ||||
| <if test="othersInf != null">#{othersInf},</if> | <if test="othersInf != null">#{othersInf},</if> | ||||
| <if test="deptId != null">#{deptId},</if> | |||||
| </trim> | </trim> | ||||
| </insert> | </insert> | ||||
| @@ -0,0 +1,79 @@ | |||||
| <?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.rwk.system.mapper.RwkAddressGroupMapper"> | |||||
| <resultMap type="RwkAddressGroup" id="RwkAddressGroupResult"> | |||||
| <result property="id" column="id" /> | |||||
| <result property="groupName" column="group_name" /> | |||||
| <result property="groupByUser" column="group_by_user" /> | |||||
| <result property="createTime" column="create_time" /> | |||||
| <result property="num" column="num" /> | |||||
| </resultMap> | |||||
| <sql id="selectRwkAddressGroupVo"> | |||||
| select id, group_name, group_by_user,create_time from rwk_address_group | |||||
| </sql> | |||||
| <select id="selectRwkAddressGroupList" parameterType="RwkAddressGroup" resultMap="RwkAddressGroupResult"> | |||||
| select | |||||
| ag.id,ag.group_name,IFNULL(bg.num, 0) as num | |||||
| from RWK_ADDRESS_GROUP ag | |||||
| left join | |||||
| (select group_id,count(*) as num from RWK_BOOK_GROUP group by group_id) bg | |||||
| on ag.id=bg.group_id | |||||
| where ag.group_by_user = #{groupByUser} | |||||
| </select> | |||||
| <select id="selectRwkAddressGroupListAllByDept" parameterType="Long" resultMap="RwkAddressGroupResult"> | |||||
| select dept_id ,'所有联系人' as group_name,IFNULL(count(*), 0) as num from RWK_ADDRESS_BOOK where dept_id=#{deptId} group by dept_id | |||||
| </select> | |||||
| <select id="selectRwkAddressGroupListLackByDept" parameterType="Long" resultMap="RwkAddressGroupResult"> | |||||
| select dept_id ,'未分组联系人' as group_name,IFNULL(count(*), 0) as num from RWK_ADDRESS_BOOK where address_group is null and dept_id=#{deptId} group by dept_id | |||||
| </select> | |||||
| <select id="selectRwkAddressGroupById" parameterType="Long" resultMap="RwkAddressGroupResult"> | |||||
| <include refid="selectRwkAddressGroupVo"/> | |||||
| where id = #{id} | |||||
| </select> | |||||
| <insert id="insertRwkAddressGroup" parameterType="RwkAddressGroup" useGeneratedKeys="true" keyProperty="id"> | |||||
| insert into rwk_address_group | |||||
| <trim prefix="(" suffix=")" suffixOverrides=","> | |||||
| <if test="groupName != null">group_name,</if> | |||||
| <if test="groupByUser != null">group_by_user,</if> | |||||
| <if test="createTime != null">create_time,</if> | |||||
| </trim> | |||||
| <trim prefix="values (" suffix=")" suffixOverrides=","> | |||||
| <if test="groupName != null">#{groupName},</if> | |||||
| <if test="groupByUser != null">#{groupByUser},</if> | |||||
| <if test="createTime != null">#{createTime},</if> | |||||
| </trim> | |||||
| </insert> | |||||
| <update id="updateRwkAddressGroup" parameterType="RwkAddressGroup"> | |||||
| update rwk_address_group | |||||
| <trim prefix="SET" suffixOverrides=","> | |||||
| <if test="groupName != null">group_name = #{groupName},</if> | |||||
| <if test="groupByUser != null">group_by_user = #{groupByUser},</if> | |||||
| <if test="createTime != null">create_time = #{createTime},</if> | |||||
| </trim> | |||||
| where id = #{id} | |||||
| </update> | |||||
| <delete id="deleteRwkAddressGroupById" parameterType="Long"> | |||||
| delete from rwk_address_group where id = #{id} | |||||
| </delete> | |||||
| <delete id="deleteRwkAddressGroupByIds" parameterType="String"> | |||||
| delete from rwk_address_group where id in | |||||
| <foreach item="id" collection="array" open="(" separator="," close=")"> | |||||
| #{id} | |||||
| </foreach> | |||||
| </delete> | |||||
| </mapper> | |||||
| @@ -0,0 +1,73 @@ | |||||
| <?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.rwk.system.mapper.RwkBookGroupMapper"> | |||||
| <resultMap type="RwkBookGroup" id="RwkBookGroupResult"> | |||||
| <result property="bookId" column="book_id" /> | |||||
| <result property="groupId" column="group_id" /> | |||||
| </resultMap> | |||||
| <sql id="selectRwkBookGroupVo"> | |||||
| select book_id, group_id from rwk_book_group | |||||
| </sql> | |||||
| <select id="selectRwkBookGroupList" parameterType="RwkBookGroup" resultMap="RwkBookGroupResult"> | |||||
| <include refid="selectRwkBookGroupVo"/> | |||||
| <where> | |||||
| <if test="bookId != null "> and book_id = #{bookId}</if> | |||||
| <if test="groupId != null and groupId != ''"> and group_id = #{groupId}</if> | |||||
| </where> | |||||
| </select> | |||||
| <select id="selectRwkBookGroupByBookId" parameterType="Long" resultMap="RwkBookGroupResult"> | |||||
| <include refid="selectRwkBookGroupVo"/> | |||||
| where book_id = #{bookId} | |||||
| </select> | |||||
| <insert id="insertRwkBookGroup" parameterType="RwkBookGroup"> | |||||
| insert into rwk_book_group | |||||
| <trim prefix="(" suffix=")" suffixOverrides=","> | |||||
| <if test="bookId != null">book_id,</if> | |||||
| <if test="groupId != null">group_id,</if> | |||||
| </trim> | |||||
| <trim prefix="values (" suffix=")" suffixOverrides=","> | |||||
| <if test="bookId != null">#{bookId},</if> | |||||
| <if test="groupId != null">#{groupId},</if> | |||||
| </trim> | |||||
| </insert> | |||||
| <insert id="insertRwkBookGroupList" > | |||||
| insert into rwk_book_group (book_id,group_id) | |||||
| values | |||||
| <foreach collection="rwkBookGroups" item="rwkBookGroup" separator=","> | |||||
| (#{rwkBookGroup.bookId},#{rwkBookGroup.groupId}) | |||||
| </foreach> | |||||
| </insert> | |||||
| <update id="updateRwkBookGroup" parameterType="RwkBookGroup"> | |||||
| update rwk_book_group | |||||
| <trim prefix="SET" suffixOverrides=","> | |||||
| <if test="groupId != null">group_id = #{groupId},</if> | |||||
| </trim> | |||||
| where book_id = #{bookId} | |||||
| </update> | |||||
| <delete id="deleteRwkBookGroupByBookId" parameterType="Long"> | |||||
| delete from rwk_book_group where book_id = #{bookId} | |||||
| </delete> | |||||
| <delete id="deleteRwkBookGroupByGroupId" parameterType="Long"> | |||||
| delete from rwk_book_group where group_id = #{groupId} | |||||
| </delete> | |||||
| <delete id="deleteRwkBookGroupByBookIds" parameterType="String"> | |||||
| delete from rwk_book_group where book_id in | |||||
| <foreach item="bookId" collection="array" open="(" separator="," close=")"> | |||||
| #{bookId} | |||||
| </foreach> | |||||
| </delete> | |||||
| </mapper> | |||||