From 3ee06bd46c3809fdd00e509debd97dcd039ed031 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 15 四月 2025 21:00:11 +0800
Subject: [PATCH] 修改家谱中会显示超出范围的数据&家族模块的导出

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java |  266 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 243 insertions(+), 23 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 51db1d4..68d4e81 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -1,20 +1,23 @@
 package com.ruoyi.web.controller.system;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.core.domain.entity.sysUserInfo;
-import com.ruoyi.domain.ZInfoUser;
-import com.ruoyi.domain.ZfFamily;
-import com.ruoyi.domain.sysUserAndUserInfo;
-import com.ruoyi.service.ZInfoUserService;
-import com.ruoyi.service.ZfFamilyService;
+import com.ruoyi.domain.*;
+import com.ruoyi.service.*;
+import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -68,6 +71,18 @@
     private ZInfoUserService zInfoUserService;
     @Resource
     private ZfFamilyService zfFamilyService;
+
+    @Resource
+    private ZfAncestorService zfAncestorService;
+
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
+    @Resource
+
+    MarrySelfService marrySelfService;
+    @Resource
+    MarryUserService marryUserService;
+
     /**
      * 鑾峰彇鐢ㄦ埛鍒楄〃
      */
@@ -76,8 +91,28 @@
     public TableDataInfo list(SysUser user)
     {
         startPage();
+        System.out.println(user.getClanId());
+        System.out.println("----------------++++++++++++==0------------");
         List<SysUser> list = userService.selectUserList(user);
         return getDataTable(list);
+    }
+    @GetMapping("/listCommonUser")
+    public TableDataInfo listCommonUser(SysUser user)
+    {
+        startPage();
+    //    System.out.println(user.getClanId());
+        System.out.println("----------------++++++++++++==0------------");
+        List<SysUser> list = userService.selectCommonUserList(user);
+        return getDataTable(list);
+    }
+    @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT)
+    @PreAuthorize("@ss.hasPermi('system:user:export')")
+    @PostMapping("/exportCommonUser")
+    public void exportCommonUser(HttpServletResponse response, SysUser user)
+    {
+        List<SysUser> list = userService.selectCommonUserList(user);
+        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
+        util.exportExcel(response, list, "鐢ㄦ埛鏁版嵁");
     }
 
     @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT)
@@ -116,7 +151,7 @@
     @GetMapping(value = { "/", "/{userId}" })
     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
     {
-        userService.checkUserDataScope(userId);
+      //  userService.checkUserDataScope(userId);
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         //濡傛灉鏄痑dmin鍒欑洿鎺ヨ繑鍥炴墍鏈夌殑瑙掕壊锛屽惁鍒欏氨杩斿洖涓嶆槸绠$悊鍛樼殑瑙掕壊淇℃伅
@@ -127,7 +162,7 @@
             SysUser sysUser = userService.selectUserById(userId);
             ajax.put(AjaxResult.DATA_TAG, sysUser);
             ajax.put("postIds", postService.selectPostListByUserId(userId));
-            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
+//            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
         }
         return ajax;
     }
@@ -148,29 +183,136 @@
         us.setRoleId(user.getRoleId());
         us.setSex(user.getSex());
         us.setStatus(user.getStatus());
+        us.setRemark(user.getRemark());
         userService.updateUser(us);
 
   //      System.out.println(user.getFamilyId());
      //   System.out.println("[[[[]]]]]]");
-                ZInfoUser infoUser = new ZInfoUser();
+        Long userId = user.getSysId();
+      //  SysUserRole sysUserRole=sysUserRoleMapper.selectUserById(userId);
+        //System.out.println(sysUserRole.getRoleId());
+        System.out.println("浣犲ソ鍛�");
+        System.out.println(user.getRoleId());
+        if (user.getRoleId() != null && user.getRoleId().equals(102L)){
+        ZInfoUser infoUser = new ZInfoUser();
         infoUser.setUserId(user.getUserId());
         infoUser.setOldName(user.getUserName());
+        infoUser.setNickName(user.getNickName());
         infoUser.setIsMyFamily(user.getIsMyFamily());
         infoUser.setMomId(user.getMid());
         infoUser.setFatherId(user.getFid());
+        if (user.getSex() != null)infoUser.setSex(Integer.valueOf(user.getSex()));
 //        infoUser.setFamilyId(user.getFamilyId());
         infoUser.setSysId(user.getSysId());
-        if(user.getSpouseId()!=null)
+
+
+        if(user.getSpouseId()!=null) {
             infoUser.setSpouseId(user.getSpouseId());
+        }
 //        ZfFamily zfFamily = zfFamilyService.getByFamId(user.getFamilyId());
 //        if(zfFamily!=null&&zfFamily.getFid()!=null)
 //            infoUser.setFatherId(zfFamily.getFid());
 //        if(zfFamily!=null&&zfFamily.getMid()!=null)
 //            infoUser.setMomId(zfFamily.getMid());
-        zInfoUserService.saveOrUpdate(infoUser);
+            Long myFamily = zInfoUserService.getById(user).getFamilyId();
+        if (myFamily != null) infoUser.setFamilyId(myFamily);
+            if (user.getFid() != null){
+            //璺熼殢鐖朵翰鐨勫鏃忓拰瀹跺涵淇℃伅
+          //   if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){
+                    ZInfoUser father = zInfoUserService.getById(user.getFid());
+                        System.out.println("11111111111111111111111111111111/");
+                    //    infoUser.setFamilyId(father.getFamilyId());
+                        infoUser.setClanId(father.getClanId());
+
+          //  }
+        }
+
+            if(user.getMid()!=null)
+            {
+                //璺熼殢姣嶄翰鐨勫鏃忓拰瀹跺涵淇℃伅
+                //   if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){
+                ZInfoUser mother = zInfoUserService.getById(user.getMid());
+                System.out.println("11111111111111111111111111111111/");
+           //     infoUser.setFamilyId(mother.getFamilyId());
+                infoUser.setClanId(mother.getClanId());
+            }
+//            else if(user.getMid() != null){
+//                ZInfoUser mother = zInfoUserService.getById(user.getMid());
+//                if (mother.getIsMyFamily() == 1)
+//                    System.out.println("2222222222222222222222222222222222/");
+//                infoUser.setFamilyId(mother.getFamilyId());
+//            }
+        if (user.getSpouseId() != null){
+
+            //璺熼殢閰嶅伓鐨勫鏃忓拰瀹跺涵淇℃伅
+//            if ( !zInfoUserService.getById(user.getUserId()).getSpouseId().equals(user.getSpouseId())){
+
+                //鏄湰瀹�,涓�绉嶆槸鏅�氱敤鎴锋洿鏂颁负瀹跺涵鐢ㄦ埛锛�
+
+                if (zInfoUserService.getById(user.getUserId())==null||zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) {
+                    ZInfoUser spouse = zInfoUserService.getById(user.getSpouseId());
+                    System.out.println("33333333333333333333333333333333333333333/");
+                    infoUser.setFamilyId(spouse.getFamilyId());
+                    infoUser.setFatherId(spouse.getFatherId());
+                    infoUser.setMomId(spouse.getMomId());
+                    infoUser.setClanId(spouse.getClanId());
+
+//                }
+            }
+
+
+        }
+        if(infoUser.getFamilyId() != null)
+            zInfoUserService.saveOrUpdate(infoUser);
+        else {
+            System.out.println("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�");
+            return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�");
+        }
+        //鏇存柊閰嶅伓淇℃伅
+        if(user.getSpouseId()!=null) {
+            ZInfoUser zu = new ZInfoUser();
+            zu.setUserId(user.getSpouseId());
+            zu.setSpouseId(infoUser.getUserId());
+//            Long spouseMoM = zInfoUserService.getById(user.getSpouseId()).getMomId();
+//            Long spouseDad = zInfoUserService.getById(user.getSpouseId()).getFatherId();
+//            zu.setMomId(spouseMoM);
+//            zu.setFatherId(spouseDad);
+//
+            zInfoUserService.updateById(zu);
+
+            //鏇存柊MarrySelf鍜孧arryUser
+            ZInfoUser zfi = zInfoUserService.getById(user.getUserId());
+            MarrySelf marrySelf = new MarrySelf();
+            marrySelf.setUid(user.getSpouseId());
+            marrySelf.setName(zfi.getOldName());
+            marrySelf.setSpouseSex(zfi.getSex()==1?"鐢�":"濂�");
+            //杩欎釜鍙兘杩樿淇敼 涓�涓�
+            marrySelf.setMarryStatus(0);
+            marrySelf.setSpouseName(infoUser.getOldName());
+            marrySelf.setSpouseSex(infoUser.getSex()==1?"鐢�":"濂�");
+            marrySelf.setSpouseMarryStatus(0);
+            marrySelfService.saveOrUpdate(marrySelf);
+            //澧炲姞MarryUser
+            //澧炲姞marryUser
+            MarryUser marryUser = new MarryUser();
+            marryUser.setUid(user.getSpouseId());
+            marryUser.setName(infoUser.getOldName());
+            marryUser.setSex(infoUser.getSex()==1?"鐢�":"濂�");
+            marryUser.setMarryStatus(0);
+            marryUserService.addData(marryUser);
+
+        }
+
+            return AjaxResult.success();
+        }
+        else {
+            System.out.println("daniuni");
+            return AjaxResult.error("瀹跺涵鎴愬憳涓嶈兘淇敼涓烘櫘閫氱敤鎴�");
+        }
+
       //  zInfoUserService.update(infoUser);
              //   .saveOrUpdate(infoUser);
-        return AjaxResult.success();
+
     }
     /**
      * 鏂板鐢ㄦ埛
@@ -193,11 +335,14 @@
         user.setSex(userAll.getSex());
         user.setRemark(userAll.getRemark());
         user.setUpdateBy(userAll.getUpdateBy());
+        user.setClanId(userAll.getClanId());
+//        user.setSex(userAll.getSex()=="鐢�"?"1":"0");
     //    user.setPostIds(userAll.getPostIds());
       //  user.set
-        if (!userService.checkUserNameUnique(user))
+
+        if (!userService.checkNickNameUnique(user))
         {
-            return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
+            return error("鏂板鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
         }
         else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
         {
@@ -210,17 +355,30 @@
         user.setCreateBy(getUsername());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         userService.insertUser(user);
+
+        //鍐欏埌鐢ㄦ埛涓庤鑹插搴旂殑琛�
+        SysUserRole sysUserRole = new SysUserRole();
+        sysUserRole.setUserId(user.getUserId());
+        sysUserRole.setRoleId(user.getRoleId());
+        List<SysUserRole> sysUserRoles = new ArrayList<>();
+        sysUserRoles.add(sysUserRole);
+        sysUserRoleMapper.batchUserRole(sysUserRoles);
+
         //鍐欏叆鍒� 鏂板缓绔嬬殑淇℃伅琛ㄩ噷闈�
-//
 //        ZfFamily zfFamily = zfFamilyService.getByFamId(userAll.getFamilyId());
+        if (userAll.getRoleId() == 102){
         ZInfoUser infoUser = new ZInfoUser();
         infoUser.setSysId(user.getUserId());
      //   infoUser.setUserId(user.getUserId());
         infoUser.setNickName(userAll.getNickName());
         infoUser.setOldName(userAll.getUserName());
         infoUser.setPhoneNumber(userAll.getPhonenumber());
-        infoUser.setSex(userAll.getSex()=="鐢�"?1:0);
-        infoUser.setFamilyId(userAll.getFid());
+        System.out.println(userAll.getSex());
+        System.out.println("鎬у埆鐨勫師鍥�");
+
+        infoUser.setSex(userAll.getSex().equals("0")?0:1);
+        System.out.println(infoUser.getSex());
+//        infoUser.setFamilyId(userAll.getFid());
         infoUser.setSpouseId(userAll.getSpouseId());
 
         infoUser.setFatherId(userAll.getFid());
@@ -235,33 +393,95 @@
 //            infoUser.setFatherId(zfFamily.getMid());
 //            //   infoUser.setMomId(zfFamily.getMid());
 //        }
-        System.out.println("-----");
-        System.out.println(userAll.getIsMyFamily());
+//        System.out.println("-----");
+//        System.out.println(userAll.getIsMyFamily());
 
         infoUser.setIsMyFamily(userAll.getIsMyFamily());
+        if(userAll.getIsMyFamily()==1)
+        {
+            ZfFamily zfFamily = new ZfFamily();
+            zfFamily.setName(userAll.getNickName()+"鐨勫搴�");
+            zfFamilyService.addFamily(zfFamily);
+            infoUser.setFamilyId(zfFamily.getId());
+        }
 //        if(userAll.getSpouseId()==0)
 //            infoUser.setSpouseId(null);
 //        else {
 //            infoUser.setSpouseId(userAll.getSpouseId());
 //
 //        }
+        if (userAll.getFid() != null && userAll.getMid() != null){
+            //璇佹槑鏄湰瀹剁殑涓�涓�,澧炲姞杩涙潵鐨�
+
+            ZInfoUser father = zInfoUserService.getById(userAll.getFid());
+            ZInfoUser mother = zInfoUserService.getById(userAll.getMid());
+            //濡傛灉鏄湰瀹讹紝灏辩畝鍘嗕竴涓搴彿
+            if (father.getIsMyFamily() == 1){
+           //     infoUser.setFamilyId(father.getFamilyId());
+                infoUser.setClanId(father.getClanId());
+            }
+            else if (mother.getIsMyFamily() == 1){
+             //   infoUser.setFamilyId(mother.getFamilyId());
+                infoUser.setClanId(mother.getClanId());
+
+            }
+            MarrySelf marrySelf = new MarrySelf();
+            marrySelf.setName(infoUser.getOldName());
+            marrySelf.setSex(infoUser.getSex()==1?"鐢�":"濂�");
+            marrySelf.setMarryStatus(0);
+            marrySelfService.save(marrySelf);
+        }
+        else {
+            ZInfoUser spouse = zInfoUserService.getById(userAll.getSpouseId());
+            infoUser.setFamilyId(spouse.getFamilyId());
+            infoUser.setClanId(spouse.getClanId());
+            //閫氳繃閰嶅伓鐨勪俊鎭紝鏇存柊marrySelf鍜屽鍔爉arryUser琛�
+            MarrySelf marrySelf = new MarrySelf();
+ //           marrySelf.setUid(userAll.getSpouseId());
+            marrySelf.setSpouseName(infoUser.getOldName());
+            marrySelf.setSpouseSex(infoUser.getSex()==1?"鐢�":"濂�");
+            marrySelf.setMarryStatus(1);
+            //淇敼鏉′欢
+            QueryWrapper<MarrySelf> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("uid", userAll.getSpouseId());
+
+
+            marrySelfService.update(marrySelf, queryWrapper);
+            //澧炲姞marryUser
+            MarryUser marryUser = new MarryUser();
+            marryUser.setUid(userAll.getSpouseId());
+            marryUser.setName(infoUser.getOldName());
+            marryUser.setSex(infoUser.getSex()==1?"鐢�":"濂�");
+            marryUser.setMarryStatus(0);
+            marryUserService.addData(marryUser);
+
+        }
+
         //鍓嶇淇濊瘉浜嗚鑹蹭笉涓虹┖
      //   if(user.getRoleIds()[0]==102)
 
         // infoUser.setRoleName(user.g);
 
       //  if(userAll.getFamilyId()!=-1) {
-        if(userAll.getRoleId()==102) {
+
+        if(userAll.getRoleId().equals(102L)) {
             infoUser.setRoleId(3L);
             zInfoUserService.save(infoUser);
             if(userAll.getSpouseId()!=null)
             {
+                //鏇存柊閰嶅伓淇℃伅
                 ZInfoUser zu = new ZInfoUser();
                 zu.setUserId(userAll.getSpouseId());
                 zu.setSpouseId(infoUser.getUserId());
+                Long spouseMoM = zInfoUserService.getById(userAll.getSpouseId()).getMomId();
+                Long spouseDad = zInfoUserService.getById(userAll.getSpouseId()).getFatherId();
+                zu.setMomId(spouseMoM);
+                zu.setFatherId(spouseDad);
                 zInfoUserService.updateById(zu);
             }
         }
+        }
+
         //    zInfoUserService.saveOrUpdate(infoUser);
 //            LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
 //            lqw.eq(ZInfoUser::getSpouseId, userAll.getSpouseId());
@@ -291,9 +511,9 @@
     {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
-        if (!userService.checkUserNameUnique(user))
+        if (!userService.checkNickNameUnique(user))
         {
-            return error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
+            return error("淇敼鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
         }
         else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
         {
@@ -334,8 +554,8 @@
     @PutMapping("/resetPwd")
     public AjaxResult resetPwd(@RequestBody SysUser user)
     {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
+  //      userService.checkUserAllowed(user);
+//        userService.checkUserDataScope(user.getUserId());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setUpdateBy(getUsername());
         return toAjax(userService.resetPwd(user));

--
Gitblit v1.9.1