Ver código fonte

重置流程逻辑

zt 4 meses atrás
pai
commit
aebc61c661
20 arquivos alterados com 1954 adições e 366 exclusões
  1. 6 1
      pro-base/pom.xml
  2. 1 1
      pro-base/src/main/java/com/idea/my/controller/MyMenuController.java
  3. 4 7
      pro-base/src/main/java/com/idea/my/service/MyMenuService.java
  4. 58 1
      pro-base/src/main/java/com/idea/oa/flow2/service/FlowMainService.java
  5. 0 38
      pro-base/src/main/java/com/idea/oa/searchuser/CheckBizUserController.java
  6. 0 51
      pro-base/src/main/java/com/idea/oa/searchuser/FrameExclusiveUserController.java
  7. 0 266
      pro-base/src/main/java/com/idea/oa/searchuser/FrameExclusiveUserService.java
  8. 140 0
      pro-base/src/main/java/com/idea/oa/systemExtend/controller/SysUserExtendController.java
  9. 16 0
      pro-base/src/main/java/com/idea/oa/systemExtend/mapper/SysHomeLinkExtendMapper.java
  10. 12 0
      pro-base/src/main/java/com/idea/oa/systemExtend/model/FrameRoleMobileUser.java
  11. 410 0
      pro-base/src/main/java/com/idea/oa/systemExtend/model/FrameRoleMobileUserExample.java
  12. 88 0
      pro-base/src/main/java/com/idea/oa/systemExtend/model/SysSetting.java
  13. 741 0
      pro-base/src/main/java/com/idea/oa/systemExtend/model/SysSettingExample.java
  14. 1 1
      pro-base/src/main/java/com/idea/oa/searchuser/FrameRoleDataUserExtendService.java
  15. 144 0
      pro-base/src/main/java/com/idea/oa/systemExtend/service/SysUserExtendService.java
  16. 9 0
      pro-base/src/main/java/com/idea/oa/systemExtend/vo/BizMainVo.java
  17. 49 0
      pro-base/src/main/java/com/idea/oa/systemExtend/vo/UserVo.java
  18. 28 0
      pro-base/src/main/resources/mybatis/systemExtend/BizMainExtendMapper.xml
  19. 181 0
      pro-base/src/main/resources/mybatis/systemExtend/FrameRoleMobileUserMapper.xml
  20. 66 0
      pro-base/src/main/resources/mybatis/systemExtend/SysHomeLinkExtendMapper.xml

+ 6 - 1
pro-base/pom.xml

@@ -41,7 +41,12 @@
             <artifactId>openAPIUtil</artifactId>
             <version>1.0.0</version>
         </dependency>
-
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.4</version>
+            <classifier>jdk15</classifier>
+        </dependency>
         <!-- Rock 工程依赖 -->
         <dependency>
             <groupId>com.rockstar.anticontrol</groupId>

+ 1 - 1
pro-base/src/main/java/com/idea/my/controller/MyMenuController.java

@@ -38,7 +38,7 @@ public class MyMenuController extends BaseController {
     @PostMapping(value = "list",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
     public Object list(Tablepar tablepar, MyMenu model, DateTrans dt){
-        PageInfo<MyMenu> page = modelService.list(tablepar, model, dt);
+        PageInfo<MyMenu> page=modelService.list(tablepar,model, dt);
         TableSplitResult<MyMenu> result=new TableSplitResult<MyMenu>(page.getPageNum(), page.getTotal(), page.getList());
         return  result;
     }

+ 4 - 7
pro-base/src/main/java/com/idea/my/service/MyMenuService.java

@@ -1,11 +1,9 @@
 package com.idea.my.service;
 
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.idea.my.mapper.MyMenuMapper;
 import com.idea.my.model.MyMenu;
+import com.idea.my.mapper.MyMenuMapper;
 import com.idea.my.model.MyMenuExample;
 import com.rockstar.biz.model.BizUser;
 import com.rockstar.biz.model.BizUserExample;
@@ -19,6 +17,7 @@ import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.frame.service.FramePermissionService;
 import com.rockstar.util.SnowflakeIdWorker;
 import com.rockstar.util.StringUtils;
+import net.sf.json.JSONArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -124,10 +123,8 @@ public class MyMenuService implements BaseService<MyMenu, MyMenuExample> {
             MyMenu myMenu = myMenus.get(0);
             if(StringUtils.isNotEmpty(myMenu.getMenuId())&&myMenu.getMenuId().length()>2){
                 List lists = new ArrayList();
-                JSONArray jsonArray = JSONUtil.parseArray(myMenu.getMenuId());
-//                JSONArray jsonArray = JSONArray.fromObject(myMenu.getMenuId());//把String转换为json
-//                lists = JSONArray.toList(jsonArray);
-                lists = JSONUtil.toList(jsonArray, String.class);
+                JSONArray jsonArray = JSONArray.fromObject(myMenu.getMenuId());//把String转换为json
+                lists = JSONArray.toList(jsonArray);
                 FramePermissionExample example = new FramePermissionExample();
                 example.createCriteria().andIdIn(lists);
                 list = framePermissionService.selectByExample(example);

+ 58 - 1
pro-base/src/main/java/com/idea/oa/flow2/service/FlowMainService.java

@@ -14,6 +14,8 @@ import com.idea.oa.flow2.model.in.FlowMainIn;
 import com.idea.oa.flow2.model.in.TagerUserAndFlowRole;
 import com.idea.oa.flow2.model.out.FlowHistoryInfo;
 import com.idea.oa.flow2.model.out.IMGFlowHistoryInfo;
+import com.idea.workPanel.enume.HandleTypeEnum;
+import com.idea.workPanel.service.ParkWaitHandleService;
 import com.rockstar.common.base.BaseService;
 import com.rockstar.common.domain.AjaxResult;
 import com.rockstar.common.support.Convert;
@@ -31,9 +33,11 @@ import com.rockstar.shiro.util.ShiroUtils;
 import com.rockstar.system.model.SysDept;
 import com.rockstar.system.service.SysDeptService;
 import com.rockstar.util.UUIDUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.activiti.bpmn.model.UserTask;
 import org.activiti.engine.TaskService;
 import org.activiti.engine.task.Task;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -46,9 +50,11 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import javax.servlet.http.HttpServletRequest;
 import java.lang.reflect.Field;
 import java.util.*;
-
+@Slf4j
 @Service
 public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
+    @Autowired
+    public ParkWaitHandleService parkWaitHandleService;
 
     @Autowired
     public FrameUserService frameUserService;
@@ -1597,6 +1603,57 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
         if (!flowMain.getFlowStatus().equals(1)) {
             return AjaxResult.error("流程状态不在审核中,请重新确认");
         }
+
+        // TODO: 2024/12/12  先处理待办 不然状态 会变
+        try {
+
+            // 撤回后处理待办
+            String flowId = flowMain.getId();
+            FlowMainPushExample flowMainPushExample = new FlowMainPushExample();
+            flowMainPushExample.createCriteria().andFlowMainIdEqualTo(flowId).andStatusEqualTo(0);
+            List<FlowMainPush> flowMainPushes = flowMainPushService.selectByExample(flowMainPushExample);
+            if (CollectionUtils.isNotEmpty(flowMainPushes)) {
+                FlowMainPush push = flowMainPushes.get(0);
+                // 进行审核操作后 就要处理待办 清除数据
+                String param = "id=" + flowId + "&flowMainPushId=" + push.getId() + "&applyUser=" + flowMain.getApplyUser();
+                // 付款申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.PAYMENT)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.FK, param, ShiroUtils.getUserId());
+                }
+                // 入驻流程申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.CHECK_IN)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.RZ, param, ShiroUtils.getUserId());
+                }
+                // 合同用章申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.CONTRACT)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.HTYZ, param, ShiroUtils.getUserId());
+                }
+                // 应收款调整申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.RECEIVABLES_ADJUST)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.YSKTZ, param, ShiroUtils.getUserId());
+                }
+                // 发票红冲申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.INVOICE_RED)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.FPHC, param, ShiroUtils.getUserId());
+                }
+                // 回购申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.BUYING_MORE)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.HG, param, ShiroUtils.getUserId());
+                }
+                // 上交财政申请
+                if(flowMain.getFlowType().equals(ConstantFlowType.FINANCE)){
+                    parkWaitHandleService.userHandle(HandleTypeEnum.SJCZ, param, ShiroUtils.getUserId());
+                }
+
+            }
+
+        }catch (Exception e){
+            log.error("撤回流程处理待办报错:",e);
+        }
+
+
+
+
         String mypushUserKey = null;
         {//开始申请人撤回申请
             //先搜索目前有哪些人在审核中 ,获取key

+ 0 - 38
pro-base/src/main/java/com/idea/oa/searchuser/CheckBizUserController.java

@@ -1,38 +0,0 @@
-package com.idea.oa.searchuser;
-
-import com.rockstar.biz.model.BizUser;
-import com.rockstar.biz.model.BizUserExample;
-import com.rockstar.biz.service.BizUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * 暂用- bizUser用户名重复校验
- */
-@RestController
-@RequestMapping("captcha")
-@Validated
-public class CheckBizUserController {
-
-    @Autowired
-    private BizUserService bizUserService;
-
-    @PostMapping(value = "checkBizUserByBizUserName",produces = {"application/json;charset=UTF-8"})
-    public Object getBizUserByBizUserName(String userName) {
-        BizUserExample bizUserExample = new BizUserExample();
-        bizUserExample.createCriteria().andUsernameEqualTo(userName);
-        List<BizUser> bizUsers = bizUserService.selectByExample(bizUserExample);
-        if(bizUsers!=null&&bizUsers.size()>0){
-            return 0;
-        }else {
-            return 1;
-        }
-
-    }
-
-}

+ 0 - 51
pro-base/src/main/java/com/idea/oa/searchuser/FrameExclusiveUserController.java

@@ -1,51 +0,0 @@
-package com.idea.oa.searchuser;
-
-import com.rockstar.common.base.BaseController;
-import com.rockstar.shiro.util.ShiroUtils;
-import com.rockstar.util.ResponseUtil;
-import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * 2021.7.15
- */
-@Controller
-@RequestMapping(value = "FrameExclusiveUserController")
-@Api(value="用户页面专属配置")
-public class FrameExclusiveUserController extends BaseController {
-
-    //主表
-    @Autowired
-    private FrameExclusiveUserService modelService;
-
-
-    @Autowired
-    private FrameRoleDataUserExtendService frameRoleDataUserExtendService;
-
-
-    @PostMapping(value = "getUserListGroupType",produces = {"application/json;charset=UTF-8"})
-    @ResponseBody
-    public Object getUserListGroupType(String groupType,String groupId) {
-//        if(!frameRoleDataUserExtendService.userHasRole(ShiroUtils.getUserId(),"GROUPCG")){
-//            groupId = ShiroUtils.getUser().getGroupId();
-//        }
-        groupId=null;
-        return ResponseUtil.ok(modelService.getUserListGroupType(groupType,groupId));
-    }
-
-    @PostMapping(value = "getBizUserList",produces = {"application/json;charset=UTF-8"})
-    @ResponseBody
-    public Object getBizUserList() {
-        return ResponseUtil.ok(modelService.getBizUserList());
-    }
-
-    @PostMapping(value = "getUserBranch",produces = {"application/json;charset=UTF-8"})
-    @ResponseBody
-    public Object getUserBranch() {
-        return ResponseUtil.ok(modelService.getUserBranch(ShiroUtils.getUserId()));
-    }
-}

+ 0 - 266
pro-base/src/main/java/com/idea/oa/searchuser/FrameExclusiveUserService.java

@@ -1,266 +0,0 @@
-package com.idea.oa.searchuser;
-
-import com.rockstar.biz.model.BizMain;
-import com.rockstar.biz.model.BizUser;
-import com.rockstar.biz.service.BizMainService;
-import com.rockstar.biz.service.BizUserService;
-import com.rockstar.frame.model.FramePost;
-import com.rockstar.frame.model.FrameUser;
-import com.rockstar.frame.model.FrameUserExample;
-import com.rockstar.frame.service.FramePostService;
-import com.rockstar.frame.service.FrameUserService;
-import com.rockstar.shiro.util.ShiroUtils;
-import com.rockstar.system.model.SysDept;
-import com.rockstar.system.service.SysDeptService;
-import com.rockstar.util.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-@Service
-public class FrameExclusiveUserService {
-
-    //文件mapper
-    @Autowired
-    private SysDeptService sysDeptService;
-    @Autowired
-    private FrameUserService frameUserService;
-    @Autowired
-    private FramePostService framePostService;
-
-    @Autowired
-    private BizMainService bizMainService;
-
-    @Autowired
-    private BizUserService bizUserService;
-
-    //按组织
-    public List<Map<String, Object>> deptRecursion(String parentid,String groupId){
-        List<Map<String, Object>> result = new ArrayList<>();
-        SysDept reqData = new SysDept();
-        reqData.setGroupId(groupId);
-        reqData.setParentId(parentid);
-        List<SysDept> deptList = sysDeptService.listAll(reqData);
-        FrameUser fuser = null;
-        if(deptList.size() > 0){
-            for (SysDept sysDept : deptList) {
-                //部门
-                Map<String, Object> dept = new HashMap<>();
-                dept.put("id", sysDept.getId());
-                dept.put("label", sysDept.getDeptName());
-                dept.put("selectType", false);
-                dept.put("children", deptRecursion(sysDept.getId(),groupId));
-                result.add(dept);
-
-            }
-            //人员
-            fuser = new FrameUser();
-            fuser.setDelFlag("0");
-            fuser.setStatus("1");
-            fuser.setDepartment(parentid);
-            List<FrameUser> userList = frameUserService.listAll(fuser, null);
-            if (userList.size() > 0) {
-                for (FrameUser frameUser : userList) {
-                    Map<String, Object> user = new HashMap<>();
-                    user.put("id", frameUser.getId());
-                    user.put("label", frameUser.getTruename());
-                    user.put("selectType", true);
-                    result.add(user);
-                }
-            }
-        } else {
-            //人员
-            fuser = new FrameUser();
-            fuser.setDelFlag("0");
-            fuser.setStatus("1");
-            fuser.setGroupId(groupId);
-            fuser.setDepartment(parentid);
-            List<FrameUser> userList = frameUserService.listAll(fuser, null);
-            if (userList.size() > 0) {
-                for (FrameUser frameUser : userList) {
-                    Map<String, Object> user = new HashMap<>();
-                    user.put("id", frameUser.getId());
-                    user.put("label", frameUser.getTruename());
-                    user.put("selectType", true);
-                    result.add(user);
-                }
-            }
-        }
-        return result;
-    }
-
-
-
-    //按岗位
-    public List<Map<String, Object>> postRecursion(String groupId){
-        List<Map<String, Object>> result = new ArrayList<>();
-        FramePost reqDate = new FramePost();
-        reqDate.setStatus("0");
-        reqDate.setGroupId(groupId);
-        List<FramePost> postList = framePostService.listAll(reqDate, null);
-        for (FramePost framePost : postList) {
-            Map<String, Object> post = new HashMap<>();
-            post.put("id", framePost.getId());
-            post.put("label", framePost.getPostName());
-            post.put("selectType", false);
-            //组织人员
-            FrameUser postFrameUser = new FrameUser();
-            postFrameUser.setDelFlag("0");
-            postFrameUser.setStatus("1");
-            postFrameUser.setGroupId(groupId);
-            postFrameUser.setPosts(framePost.getId());
-            List<FrameUser> userList = frameUserService.listAll(postFrameUser, framePost.getId());
-            if(userList.size()>0){
-                List<Map<String, Object>> children = new ArrayList<>();
-                for (FrameUser frameUser : userList) {
-                    Map<String, Object> user = new HashMap<>();
-                    user.put("id", frameUser.getId());
-                    user.put("label", frameUser.getTruename());
-                    user.put("selectType", true);
-                    children.add(user);
-                }
-                post.put("children", children);
-            }
-            result.add(post);
-        }
-        return result;
-    }
-
-    //我的下属
-    public List<Map<String, Object>> userRecursion(FrameUser user){
-        List<Map<String, Object>> result = new ArrayList<>();
-        FrameUserExample reqDate = new FrameUserExample();
-        FrameUserExample.Criteria criteria = reqDate.createCriteria();
-        List<String> strings = frameUserService.genStaffUserIds(user.getId());
-        Iterator<String> iter = strings.iterator();
-        while (iter.hasNext()) {
-            String item = iter.next();
-            if (item.equals(user.getId())) {
-                iter.remove();
-            }
-        }
-        criteria.andStatusEqualTo("1");
-        criteria.andIdIn(strings);
-        List<FrameUser> userList = frameUserService.selectByExample(reqDate);
-        if(userList.size() > 0){
-            for (FrameUser frameUser : userList) {
-                Map<String, Object> userMap = new HashMap<>();
-                userMap.put("id", frameUser.getId());
-                userMap.put("label", frameUser.getTruename());
-                userMap.put("selectType", true);
-                result.add(userMap);
-            }
-            return result;
-        }else{
-            return null;
-        }
-    }
-
-    public List<Map<String, Object>> getUserListGroupType(String groupType,String groupId) {
-        List<Map<String, Object>> result = new ArrayList<>();
-        List<Map<String, Object>>  all = new ArrayList<>();
-        Map<String,Object> allMap = new HashMap<>();
-        allMap.put("id", "0");
-        allMap.put("label", "全部");
-        allMap.put("selectType", false);
-        if("1".equals(groupType)){ //按组织
-            all = deptRecursion("0",groupId);
-            allMap.put("children", all);
-            result.add(allMap);
-        }else if("2".equals(groupType)){
-            //按岗位
-            all = postRecursion(groupId);
-            allMap.put("children", all);
-            result.add(allMap);
-        }else if("3".equals(groupType)){
-            //我的下属
-            FrameUser nowUser = frameUserService.selectByPrimaryKey(ShiroUtils.getUserId());
-            if(null != nowUser){
-                all = userRecursion(nowUser);
-                allMap.put("children", all);
-                result.add(allMap);
-            }
-        }else if("4".equals(groupType)){
-            //我的部门
-            FrameUser nowUser = frameUserService.selectByPrimaryKey(ShiroUtils.getUserId());
-            if(null != nowUser){
-                if(StringUtils.isNotBlank(nowUser.getDepartment())){
-                    all = deptRecursion(nowUser.getDepartment(),groupId);
-                    allMap.put("children", all);
-                    result.add(allMap);
-                }
-            }
-        }
-        return result;
-    }
-
-    public List<Map<String, Object>> getBizUserList(){
-        List<Map<String, Object>> result = new ArrayList<>();
-        List<BizMain> bizMains = bizMainService.listAll(new BizMain());
-        List<BizUser> bizUsers = bizUserService.listAll(new BizUser());
-        List<Map<String, Object>>  all = new ArrayList<>();
-        for(BizMain bizMain:bizMains){
-            Map<String, Object> userMap = new HashMap<>();
-            userMap.put("id", bizMain.getId());
-            userMap.put("label", bizMain.getBusinessName());
-            userMap.put("selectType", false);
-            userMap.put("children", bizUserList(bizUsers,bizMain.getId()));
-            all.add(userMap);
-        }
-        Map<String,Object> allMap = new HashMap<>();
-        allMap.put("id", "0");
-        allMap.put("label", "全部");
-        allMap.put("selectType", false);
-        allMap.put("children", all);
-        result.add(allMap);
-        return result;
-    }
-
-    public List<Map<String, Object>> bizUserList(List<BizUser> bizUsers,String bizMainId){
-        List<Map<String, Object>> result = new ArrayList<>();
-        for(BizUser bizUser:bizUsers){
-            if(bizUser.getMainId().equals(bizMainId)){
-                Map<String,Object> user = new HashMap<>();
-                user.put("id", bizUser.getId());
-                user.put("label", bizUser.getDispName());
-                user.put("selectType", true);
-                result.add(user);
-            }
-        }
-        return result;
-    }
-
-    // 获取我及我的下属id
-    public List<String> getMyBelow(List<String> users, String userId){
-        users.add(userId);
-        FrameUserExample example = new FrameUserExample();
-        example.createCriteria().andLeaderEqualTo(userId).andDelFlagEqualTo("0").andStatusEqualTo("1");
-        List<FrameUser> userList = frameUserService.selectByExample(example);
-        if(null == userList || null == userList)
-            return users;
-        for (FrameUser user : userList) {
-            getMyBelow(users, user.getId());
-        }
-        return users;
-    }
-
-    // 获取我的直系下属
-    public List<FrameUser> getUserBranch(String userId){
-        FrameUserExample example = new FrameUserExample();
-        example.createCriteria().andLeaderEqualTo(userId).andStatusEqualTo("1");
-        List<FrameUser> userList = frameUserService.selectByExample(example);
-        return userList;
-    }
-
-    // 获取我的所有下属
-    public void getUserBranchAll(String userId, List<String> userList){
-        FrameUserExample example = new FrameUserExample();
-        example.createCriteria().andLeaderEqualTo(userId).andStatusEqualTo("1");
-        List<FrameUser> users = frameUserService.selectByExample(example);
-        for (FrameUser user : users) {
-            userList.add(user.getId());
-            getUserBranchAll(user.getId(), userList);
-        }
-    }
-}

+ 140 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/controller/SysUserExtendController.java

@@ -0,0 +1,140 @@
+package com.idea.oa.systemExtend.controller;
+
+
+import com.github.pagehelper.PageInfo;
+import com.idea.oa.systemExtend.service.FrameRoleDataUserExtendService;
+import com.idea.oa.systemExtend.service.SysUserExtendService;
+import com.idea.oa.systemExtend.vo.UserVo;
+import com.rockstar.frame.model.FrameUser;
+import com.rockstar.frame.model.FrameUserExample;
+import com.rockstar.frame.model.extend.TableSplitResult;
+import com.rockstar.frame.model.extend.Tablepar;
+import com.rockstar.frame.service.FrameRoleUserService;
+import com.rockstar.frame.service.FrameUserService;
+import com.rockstar.shiro.util.ShiroUtils;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+@Controller
+@RequestMapping({"SysUserExtendController"})
+@Api("用户相关信息扩展")
+public class SysUserExtendController {
+
+    @Autowired
+    private SysUserExtendService sysUserExtendService;
+
+    @Autowired
+    private FrameUserService frameUserService;
+
+
+
+    @Autowired
+    private FrameRoleDataUserExtendService frameRoleDataUserExtendService;
+
+    @PostMapping(
+            value = {"updateMyMenu"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    public void updateMyMenu(String userId, String prem) {
+         this.sysUserExtendService.updateMyMenu(userId,prem);
+    }
+
+    @PostMapping(
+            value = {"userByRoleData"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    public List<UserVo> userByRoleData(UserVo vo) {
+        if(!"1".equals(ShiroUtils.getUserId())&&!frameRoleDataUserExtendService.userHasRole(ShiroUtils.getUserId(),"GROUPCG")){
+            vo.setGroupId(ShiroUtils.getUser().getGroupId());
+        }
+         return this.sysUserExtendService.userByRoleData(vo);
+    }
+
+
+    @PostMapping(
+            value = {"listAll"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    private List<FrameUser> listAll(FrameUser model,String postId){
+        if(!"1".equals(ShiroUtils.getUserId())&&!frameRoleDataUserExtendService.userHasRole(ShiroUtils.getUserId(),"GROUPCG")){
+            model.setGroupId(ShiroUtils.getUser().getGroupId());
+        }
+        List<FrameUser> list = frameUserService.listAll(model,postId);
+        if(null!=list&&list.size()>0){
+            for(FrameUser frameUser:list){
+                frameUser.setPhone("");
+                frameUser.setPassword("");
+                frameUser.setUsername("");
+            }
+        }
+        return list;
+    }
+
+
+    @PostMapping(
+            value = {"listAllVo"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    private List<FrameUser> listAllVo(FrameUser model,String postId){
+        List<FrameUser> list = frameUserService.listAll(model,postId);
+        if(null!=list&&list.size()>0){
+            for(FrameUser frameUser:list){
+                frameUser.setPhone("");
+                frameUser.setPassword("");
+                frameUser.setUsername("");
+            }
+        }
+        return list;
+    }
+
+    @PostMapping(
+            value = {"listAllNoGroup"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    private List<FrameUser> listAllNoGroup(){
+        FrameUserExample frameUserExample = new FrameUserExample();
+        frameUserExample.createCriteria().andStatusEqualTo("1").andDelFlagEqualTo("0").andIdNotEqualTo("1");
+        List<FrameUser> list = frameUserService.selectByExample(frameUserExample);
+        if(null!=list&&list.size()>0){
+            for(FrameUser frameUser:list){
+                frameUser.setPhone("");
+                frameUser.setPassword("");
+                frameUser.setUsername("");
+            }
+        }
+        return list;
+    }
+
+    @PostMapping(
+            value = {"listByModel"},
+            produces = {"application/json;charset=UTF-8"}
+    )
+    @ResponseBody
+    private Object listByModel(Tablepar tablepar, FrameUser model, String postId, String deptAttrId){
+        if(!"1".equals(ShiroUtils.getUserId())&&!frameRoleDataUserExtendService.userHasRole(ShiroUtils.getUserId(),"GROUPCG")){
+            model.setGroupId(ShiroUtils.getUser().getGroupId());
+        }
+
+        PageInfo<FrameUser> page = this.frameUserService.list(tablepar, model, postId, deptAttrId);
+        if(null!=page&&page.getList().size()>0){
+            for(FrameUser frameUser:page.getList()){
+                frameUser.setPassword("");
+            }
+        }
+        TableSplitResult<FrameUser> result = new TableSplitResult(page.getPageNum(), page.getTotal(), page.getList());
+        return result;
+    }
+
+
+}

+ 16 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/mapper/SysHomeLinkExtendMapper.java

@@ -0,0 +1,16 @@
+package com.idea.oa.systemExtend.mapper;
+
+
+import com.idea.oa.systemExtend.vo.UserVo;
+import com.rockstar.frame.model.FrameUser;
+import com.rockstar.system.model.SysHomeLink;
+
+import java.util.List;
+
+public interface SysHomeLinkExtendMapper {
+    List<SysHomeLink> selectVoList(SysHomeLink sysHomeLink);
+
+    List<UserVo> userByDataRole(UserVo vo);
+
+    List<FrameUser> userByParent(FrameUser vo);
+}

+ 12 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/model/FrameRoleMobileUser.java

@@ -0,0 +1,12 @@
+package com.idea.oa.systemExtend.model;
+
+import lombok.Data;
+
+@Data
+public class FrameRoleMobileUser {
+    private String id;
+
+    private String userId;
+
+    private String roleMobileId;
+}

+ 410 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/model/FrameRoleMobileUserExample.java

@@ -0,0 +1,410 @@
+package com.idea.oa.systemExtend.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FrameRoleMobileUserExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public FrameRoleMobileUserExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNull() {
+            addCriterion("user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIsNotNull() {
+            addCriterion("user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdEqualTo(String value) {
+            addCriterion("user_id =", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotEqualTo(String value) {
+            addCriterion("user_id <>", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThan(String value) {
+            addCriterion("user_id >", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("user_id >=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThan(String value) {
+            addCriterion("user_id <", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLessThanOrEqualTo(String value) {
+            addCriterion("user_id <=", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdLike(String value) {
+            addCriterion("user_id like", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotLike(String value) {
+            addCriterion("user_id not like", value, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdIn(List<String> values) {
+            addCriterion("user_id in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotIn(List<String> values) {
+            addCriterion("user_id not in", values, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdBetween(String value1, String value2) {
+            addCriterion("user_id between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUserIdNotBetween(String value1, String value2) {
+            addCriterion("user_id not between", value1, value2, "userId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdIsNull() {
+            addCriterion("role_mobile_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdIsNotNull() {
+            addCriterion("role_mobile_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdEqualTo(String value) {
+            addCriterion("role_mobile_id =", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdNotEqualTo(String value) {
+            addCriterion("role_mobile_id <>", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdGreaterThan(String value) {
+            addCriterion("role_mobile_id >", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdGreaterThanOrEqualTo(String value) {
+            addCriterion("role_mobile_id >=", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdLessThan(String value) {
+            addCriterion("role_mobile_id <", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdLessThanOrEqualTo(String value) {
+            addCriterion("role_mobile_id <=", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdLike(String value) {
+            addCriterion("role_mobile_id like", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdNotLike(String value) {
+            addCriterion("role_mobile_id not like", value, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdIn(List<String> values) {
+            addCriterion("role_mobile_id in", values, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdNotIn(List<String> values) {
+            addCriterion("role_mobile_id not in", values, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdBetween(String value1, String value2) {
+            addCriterion("role_mobile_id between", value1, value2, "roleMobileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRoleMobileIdNotBetween(String value1, String value2) {
+            addCriterion("role_mobile_id not between", value1, value2, "roleMobileId");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 88 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/model/SysSetting.java

@@ -0,0 +1,88 @@
+package com.idea.oa.systemExtend.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class SysSetting implements Serializable {
+    private String id;
+
+    private String name;
+
+    private String value;
+
+    private String groupId;
+
+    private Date createdAt;
+
+    private String createBy;
+
+    private Date updateAt;
+
+    private String updateBy;
+
+    private static final long serialVersionUID = 1L;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value == null ? null : value.trim();
+    }
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId == null ? null : groupId.trim();
+    }
+
+    public Date getCreatedAt() {
+        return createdAt;
+    }
+
+    public void setCreatedAt(Date createdAt) {
+        this.createdAt = createdAt;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy == null ? null : createBy.trim();
+    }
+
+    public Date getUpdateAt() {
+        return updateAt;
+    }
+
+    public void setUpdateAt(Date updateAt) {
+        this.updateAt = updateAt;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy == null ? null : updateBy.trim();
+    }
+}

+ 741 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/model/SysSettingExample.java

@@ -0,0 +1,741 @@
+package com.idea.oa.systemExtend.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class SysSettingExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public SysSettingExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNull() {
+            addCriterion("value is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNotNull() {
+            addCriterion("value is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueEqualTo(String value) {
+            addCriterion("value =", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotEqualTo(String value) {
+            addCriterion("value <>", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThan(String value) {
+            addCriterion("value >", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThanOrEqualTo(String value) {
+            addCriterion("value >=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThan(String value) {
+            addCriterion("value <", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThanOrEqualTo(String value) {
+            addCriterion("value <=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLike(String value) {
+            addCriterion("value like", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotLike(String value) {
+            addCriterion("value not like", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIn(List<String> values) {
+            addCriterion("value in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotIn(List<String> values) {
+            addCriterion("value not in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueBetween(String value1, String value2) {
+            addCriterion("value between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotBetween(String value1, String value2) {
+            addCriterion("value not between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdIsNull() {
+            addCriterion("group_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdIsNotNull() {
+            addCriterion("group_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdEqualTo(String value) {
+            addCriterion("group_id =", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdNotEqualTo(String value) {
+            addCriterion("group_id <>", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdGreaterThan(String value) {
+            addCriterion("group_id >", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdGreaterThanOrEqualTo(String value) {
+            addCriterion("group_id >=", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdLessThan(String value) {
+            addCriterion("group_id <", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdLessThanOrEqualTo(String value) {
+            addCriterion("group_id <=", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdLike(String value) {
+            addCriterion("group_id like", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdNotLike(String value) {
+            addCriterion("group_id not like", value, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdIn(List<String> values) {
+            addCriterion("group_id in", values, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdNotIn(List<String> values) {
+            addCriterion("group_id not in", values, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdBetween(String value1, String value2) {
+            addCriterion("group_id between", value1, value2, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGroupIdNotBetween(String value1, String value2) {
+            addCriterion("group_id not between", value1, value2, "groupId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtIsNull() {
+            addCriterion("created_at is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtIsNotNull() {
+            addCriterion("created_at is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtEqualTo(Date value) {
+            addCriterion("created_at =", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtNotEqualTo(Date value) {
+            addCriterion("created_at <>", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtGreaterThan(Date value) {
+            addCriterion("created_at >", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_at >=", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtLessThan(Date value) {
+            addCriterion("created_at <", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+            addCriterion("created_at <=", value, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtIn(List<Date> values) {
+            addCriterion("created_at in", values, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtNotIn(List<Date> values) {
+            addCriterion("created_at not in", values, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtBetween(Date value1, Date value2) {
+            addCriterion("created_at between", value1, value2, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+            addCriterion("created_at not between", value1, value2, "createdAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNull() {
+            addCriterion("create_by is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNotNull() {
+            addCriterion("create_by is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByEqualTo(String value) {
+            addCriterion("create_by =", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotEqualTo(String value) {
+            addCriterion("create_by <>", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThan(String value) {
+            addCriterion("create_by >", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
+            addCriterion("create_by >=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThan(String value) {
+            addCriterion("create_by <", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThanOrEqualTo(String value) {
+            addCriterion("create_by <=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLike(String value) {
+            addCriterion("create_by like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotLike(String value) {
+            addCriterion("create_by not like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIn(List<String> values) {
+            addCriterion("create_by in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotIn(List<String> values) {
+            addCriterion("create_by not in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByBetween(String value1, String value2) {
+            addCriterion("create_by between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotBetween(String value1, String value2) {
+            addCriterion("create_by not between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtIsNull() {
+            addCriterion("update_at is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtIsNotNull() {
+            addCriterion("update_at is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtEqualTo(Date value) {
+            addCriterion("update_at =", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtNotEqualTo(Date value) {
+            addCriterion("update_at <>", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtGreaterThan(Date value) {
+            addCriterion("update_at >", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_at >=", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtLessThan(Date value) {
+            addCriterion("update_at <", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtLessThanOrEqualTo(Date value) {
+            addCriterion("update_at <=", value, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtIn(List<Date> values) {
+            addCriterion("update_at in", values, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtNotIn(List<Date> values) {
+            addCriterion("update_at not in", values, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtBetween(Date value1, Date value2) {
+            addCriterion("update_at between", value1, value2, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateAtNotBetween(Date value1, Date value2) {
+            addCriterion("update_at not between", value1, value2, "updateAt");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNull() {
+            addCriterion("update_by is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNotNull() {
+            addCriterion("update_by is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByEqualTo(String value) {
+            addCriterion("update_by =", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotEqualTo(String value) {
+            addCriterion("update_by <>", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThan(String value) {
+            addCriterion("update_by >", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by >=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThan(String value) {
+            addCriterion("update_by <", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThanOrEqualTo(String value) {
+            addCriterion("update_by <=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLike(String value) {
+            addCriterion("update_by like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotLike(String value) {
+            addCriterion("update_by not like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIn(List<String> values) {
+            addCriterion("update_by in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotIn(List<String> values) {
+            addCriterion("update_by not in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByBetween(String value1, String value2) {
+            addCriterion("update_by between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotBetween(String value1, String value2) {
+            addCriterion("update_by not between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 1 - 1
pro-base/src/main/java/com/idea/oa/searchuser/FrameRoleDataUserExtendService.java

@@ -1,4 +1,4 @@
-package com.idea.oa.searchuser;
+package com.idea.oa.systemExtend.service;
 
 import com.rockstar.frame.model.*;
 import com.rockstar.frame.service.FrameRoleDataService;

+ 144 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/service/SysUserExtendService.java

@@ -0,0 +1,144 @@
+package com.idea.oa.systemExtend.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.idea.my.model.MyMenu;
+import com.idea.my.model.MyMenuExample;
+import com.idea.my.service.MyMenuService;
+import com.idea.oa.systemExtend.mapper.SysHomeLinkExtendMapper;
+import com.idea.oa.systemExtend.vo.UserVo;
+import com.rockstar.common.support.Convert;
+import com.rockstar.frame.model.FrameRole;
+import com.rockstar.frame.model.FrameUser;
+import com.rockstar.frame.model.FrameUserDept;
+import com.rockstar.frame.model.FrameUserDeptExample;
+import com.rockstar.frame.service.FrameRoleService;
+import com.rockstar.frame.service.FrameUserDeptService;
+import com.rockstar.system.model.SysDept;
+import com.rockstar.system.model.SysDeptExample;
+import com.rockstar.system.service.SysDeptService;
+import com.rockstar.util.StringUtils;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class SysUserExtendService {
+    @Autowired
+    FrameRoleService frameRoleService;
+
+    @Autowired
+    MyMenuService myMenuService;
+
+    @Autowired
+    SysDeptService sysDeptService;
+
+    @Autowired
+    SysHomeLinkExtendMapper sysHomeLinkExtendMapper;
+    @Autowired
+    FrameUserDeptService frameUserDeptService;
+
+    public List<UserVo> userByRoleData(UserVo vo){
+       return sysHomeLinkExtendMapper.userByDataRole(vo);
+    }
+
+    public void updateMyMenu(String userId,String permIds){
+        Iterator var3 = Convert.toListStrArray(permIds).iterator();
+        List<String> list = new ArrayList<>();
+        List<String> menuIds = new ArrayList<>();
+        while(var3.hasNext()) {
+            String roleId = (String)var3.next();
+            FrameRole frameRole = frameRoleService.selectByPrimaryKey(roleId);
+            String checks = frameRole.getChecks();
+            if (StringUtils.isNotEmpty(checks)) {
+                JSONArray arr = JSONArray.parseArray(checks);
+                Iterator var4 = arr.iterator();
+                while(var4.hasNext()) {
+                    Object code = var4.next();
+                    list.add(code.toString());
+                }
+            }
+        }
+        MyMenuExample example  = new MyMenuExample();
+        example.createCriteria().andUserIdEqualTo(userId);
+        List<MyMenu> myMenus = myMenuService.selectByExample(example);
+        if(myMenus!=null&&myMenus.size()>0){
+            MyMenu myMenu = myMenus.get(0);
+            String menuIdList = myMenu.getMenuId();
+            if (StringUtils.isNotEmpty(menuIdList)) {
+                JSONArray arr = JSONArray.parseArray(menuIdList);
+                Iterator var4 = arr.iterator();
+                while(var4.hasNext()) {
+                    Object code = var4.next();
+                    menuIds.add(code.toString());
+                }
+            }
+
+            List<String> collect1 = menuIds.stream().filter(item -> !list.contains(item)).collect(Collectors.toList());
+            if(collect1.size()>0){
+                for(String menu : collect1){
+                    menuIds.remove(menu);
+                }
+                String newMenu = JSONArray.toJSONString(menuIds);
+                myMenu.setMenuId(newMenu);
+                myMenuService.updateByPrimaryKeySelective(myMenu);
+            }
+        }
+    }
+
+    //递归获取下属
+    public List<String> findSubordinate(String userId,String deptId){
+        List<String> deptIds = new ArrayList<>();
+        List<String> userIds = new ArrayList<>();
+        if(StringUtils.isNotEmpty(userId)){
+            deptIds = findDeptByLeader(userId);
+        }else{
+            deptIds = findDeptList(deptId, new ArrayList<>());
+        }
+        if(CollectionUtils.isNotEmpty(deptIds)){
+            FrameUserDeptExample example = new FrameUserDeptExample();
+            example.createCriteria().andDeptIdIn(deptIds);
+            List<FrameUserDept> frameUserDepts = frameUserDeptService.selectByExample(example);
+            if(frameUserDepts!=null&&frameUserDepts.size()>0){
+                userIds = frameUserDepts.stream().map(FrameUserDept::getUserId).collect(Collectors.toList());
+            }
+        }
+        return userIds;
+    }
+
+    public List<String> findDeptByLeader(String userId){
+        List<String> deptList = new ArrayList<>();
+        SysDeptExample example = new SysDeptExample();
+        example.createCriteria().andChargedByLike("%"+userId+"%");
+        List<SysDept> depts = sysDeptService.selectByExample(example);
+        if(depts!=null&&depts.size()>0){
+            for(SysDept sysDept : depts){
+                deptList.addAll(findDeptList(sysDept.getId(),new ArrayList<>()));
+            }
+        }
+        return deptList;
+    }
+
+    public List<String> findDeptList(String deptId,List<String> deptIds){
+        SysDeptExample example = new SysDeptExample();
+        example.createCriteria().andParentIdEqualTo(deptId);
+        List<SysDept> depts = sysDeptService.selectByExample(example);
+        if(depts!=null&&depts.size()>0){
+            for(SysDept sysDept : depts){
+                findDeptList(sysDept.getId(),deptIds);
+            }
+        }else{
+            deptIds.add(deptId);
+        }
+        return deptIds;
+    }
+
+
+    public List<FrameUser> userByParent(FrameUser vo){
+       return sysHomeLinkExtendMapper.userByParent(vo);
+    }
+ }

+ 9 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/vo/BizMainVo.java

@@ -0,0 +1,9 @@
+package com.idea.oa.systemExtend.vo;
+
+import com.rockstar.biz.model.BizMain;
+import lombok.Data;
+
+@Data
+public class BizMainVo extends BizMain {
+    private String isBuindTem;
+}

+ 49 - 0
pro-base/src/main/java/com/idea/oa/systemExtend/vo/UserVo.java

@@ -0,0 +1,49 @@
+package com.idea.oa.systemExtend.vo;
+
+public class UserVo {
+    private String groupId;
+    private String userId;
+    private String id;
+    private String trueName;
+    private String roleKey;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getTrueName() {
+        return trueName;
+    }
+
+    public void setTrueName(String trueName) {
+        this.trueName = trueName;
+    }
+
+    public String getRoleKey() {
+        return roleKey;
+    }
+
+    public void setRoleKey(String roleKey) {
+        this.roleKey = roleKey;
+    }
+}

+ 28 - 0
pro-base/src/main/resources/mybatis/systemExtend/BizMainExtendMapper.xml

@@ -0,0 +1,28 @@
+<?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.idea.oa.systemExtend.mapper.BizMainExtendMapper">
+  <select id="selectBizMainListVo" parameterType="com.idea.oa.systemExtend.vo.BizMainVo" resultType="com.idea.oa.systemExtend.vo.BizMainVo">
+     select * from biz_main where 1=1
+     <if test="businessName!=null and businessName!=''">
+        and business_name like concat('%',#{businessName},'%')
+     </if>
+    <if test="contactPhone!=null and contactPhone!=''">
+      and contact_phone = #{contactPhone}
+    </if>
+    <if test="contactUser!=null and contactUser!=''">
+      and contact_user like concat('%',#{contactUser},'%')
+    </if>
+      <if test="status!=null and status!=''">
+          and status = #{status}
+      </if>
+      <if test="type!=null and type!=''">
+          and type = #{type}
+      </if>
+    <if test="isBuindTem!=null and isBuindTem!='' and  isBuindTem =='2'.toString()">
+      and (mode_code is null or mode_code ='')
+    </if>
+    <if test="isBuindTem!=null and isBuindTem!='' and  isBuindTem =='1'.toString()">
+      and (mode_code is not null and mode_code !='')
+    </if>
+  </select>
+</mapper>

+ 181 - 0
pro-base/src/main/resources/mybatis/systemExtend/FrameRoleMobileUserMapper.xml

@@ -0,0 +1,181 @@
+<?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.idea.oa.systemExtend.mapper.FrameRoleMoUserMapper">
+  <resultMap id="BaseResultMap" type="com.idea.oa.systemExtend.model.FrameRoleMobileUser">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="user_id" jdbcType="VARCHAR" property="userId" />
+    <result column="role_mobile_id" jdbcType="VARCHAR" property="roleMobileId" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    id, user_id, role_mobile_id
+  </sql>
+  <select id="selectByExample" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUserExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from frame_role_mobile_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from frame_role_mobile_user
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from frame_role_mobile_user
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUserExample">
+    delete from frame_role_mobile_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUser">
+    insert into frame_role_mobile_user (id, user_id, role_mobile_id
+      )
+    values (#{id,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{roleMobileId,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUser">
+    insert into frame_role_mobile_user
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="userId != null">
+        user_id,
+      </if>
+      <if test="roleMobileId != null">
+        role_mobile_id,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="userId != null">
+        #{userId,jdbcType=VARCHAR},
+      </if>
+      <if test="roleMobileId != null">
+        #{roleMobileId,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUserExample" resultType="java.lang.Long">
+    select count(*) from frame_role_mobile_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update frame_role_mobile_user
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.userId != null">
+        user_id = #{record.userId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.roleMobileId != null">
+        role_mobile_id = #{record.roleMobileId,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update frame_role_mobile_user
+    set id = #{record.id,jdbcType=VARCHAR},
+      user_id = #{record.userId,jdbcType=VARCHAR},
+      role_mobile_id = #{record.roleMobileId,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUser">
+    update frame_role_mobile_user
+    <set>
+      <if test="userId != null">
+        user_id = #{userId,jdbcType=VARCHAR},
+      </if>
+      <if test="roleMobileId != null">
+        role_mobile_id = #{roleMobileId,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.idea.oa.systemExtend.model.FrameRoleMobileUser">
+    update frame_role_mobile_user
+    set user_id = #{userId,jdbcType=VARCHAR},
+      role_mobile_id = #{roleMobileId,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 66 - 0
pro-base/src/main/resources/mybatis/systemExtend/SysHomeLinkExtendMapper.xml

@@ -0,0 +1,66 @@
+<?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.idea.oa.systemExtend.mapper.SysHomeLinkExtendMapper">
+  <resultMap id="BaseResultMap" type="com.rockstar.system.model.SysHomeLink">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="link_name" jdbcType="VARCHAR" property="linkName" />
+    <result column="link_image" jdbcType="VARCHAR" property="linkImage" />
+    <result column="link_url" jdbcType="VARCHAR" property="linkUrl" />
+    <result column="link_order" jdbcType="VARCHAR" property="linkOrder" />
+    <result column="link_type" jdbcType="VARCHAR" property="linkType" />
+    <result column="sys_id" jdbcType="VARCHAR" property="sysId" />
+    <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
+    <result column="created_by" jdbcType="VARCHAR" property="createdBy" />
+    <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
+    <result column="updated_by" jdbcType="VARCHAR" property="updatedBy" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, link_name, link_image, link_url, link_order, link_type, sys_id, created_at, created_by,
+    updated_at, updated_by
+  </sql>
+  <select id="selectVoList" parameterType="com.rockstar.system.model.SysHomeLink" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from sys_home_link where 1=1
+    <if test="createdBy!=null and createdBy!=''">
+      and (created_by = #{createdBy} or  link_type = '是')
+    </if>
+    order by cast(link_order as SIGNED INTEGER) asc
+  </select>
+
+  <select id="userByDataRole" parameterType="com.idea.oa.systemExtend.vo.UserVo" resultType="com.idea.oa.systemExtend.vo.UserVo">
+    SELECT
+    b.id,
+    b.truename trueName
+    FROM
+    frame_role_data_user a
+    LEFT JOIN frame_user b ON a.user_id = b.id
+    LEFT JOIN frame_role_data c ON a.role_data_id = c.id
+    where 1=1 and b.id is not null
+    <if test="groupId!=null and groupId!=''">
+      and b.group_id = #{groupId}
+    </if>
+    <if test="roleKey!=null and roleKey!=''">
+      and c.role_key = #{roleKey}
+    </if>
+  </select>
+
+
+  <select id="userByParent" parameterType="com.rockstar.frame.model.FrameUser" resultType="com.rockstar.frame.model.FrameUser">
+    SELECT
+    a.id,
+    a.truename
+    FROM
+    frame_user a
+    where a.status='1' and a.del_flag='0'
+    <if test="groupId!=null and groupId!=''">
+      and a.group_id = #{groupId}
+    </if>
+    <if test="department!=null and department!=''">
+      and a.department = #{department}
+    </if>
+    <if test="department!=null and department!=''">
+      and a.department = #{department}
+    </if>
+  </select>
+</mapper>