From e180e3a496d6f29d3a3b34016400de9d997c6bd9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 07 四月 2026 14:42:23 +0800
Subject: [PATCH] 省立同德满意度功能提交

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |  160 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 148 insertions(+), 12 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 323dd8c..f0d170c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -14,8 +14,14 @@
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
+import com.smartor.domain.IvrLibaScriptAssort;
+import com.smartor.domain.SvyLibScriptCategory;
 import com.smartor.domain.SvyTaskVO;
+import com.smartor.domain.SysUserOrg;
+import com.smartor.mapper.IvrLibaScriptAssortMapper;
+import com.smartor.mapper.SvyLibScriptCategoryMapper;
 import com.smartor.mapper.SysUserDeptMapper;
+import com.smartor.mapper.SysUserOrgMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,10 +48,19 @@
     private SysUserMapper userMapper;
 
     @Autowired
+    private SysUserOrgMapper sysUserOrgMapper;
+
+    @Autowired
     private SysDeptMapper sysDeptMapper;
 
     @Autowired
     private SysUserDeptMapper sysUserDeptMapper;
+
+    @Autowired
+    private IvrLibaScriptAssortMapper ivrLibaScriptAssortMapper;
+
+    @Autowired
+    private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
 
     @Autowired
     private SysRoleMapper roleMapper;
@@ -78,6 +93,12 @@
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectUserList(SysUser user) {
         return userMapper.selectUserList(user);
+
+    }
+
+    @Override
+    public List<SysUser> getUserList(SysUser user) {
+        return userMapper.getUserList(user);
     }
 
     /**
@@ -168,6 +189,18 @@
     public SysUser selectUserByUserName2(String userName) {
         String[] split = userName.split("&");
         SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
+
+        //鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌鍖�
+        SysUserOrg sysUserOrg = new SysUserOrg();
+        sysUserOrg.setUserId(sysUser.getUserId().toString());
+        sysUserOrg.setOrgid(split[1].equals("null") ? "" : split[1]);
+        sysUserOrg.setCampusid(split[2].equals("null") ? "" : split[2]);
+        List<SysUserOrg> sysUserOrgs = sysUserOrgMapper.selectSysUserOrgList(sysUserOrg);
+        if (!CollectionUtils.isEmpty(sysUserOrgs)) {
+            sysUser.setOrgid(sysUserOrgs.get(0).getOrgid());
+            sysUser.setCampusid(sysUserOrgs.get(0).getCampusid());
+        }
+
         if (Objects.isNull(sysUser)) return sysUser;
         List<SysDept> sysDepts = null;
         if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
@@ -264,7 +297,43 @@
                 if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
                 list.add(map);
             }
+            //鑾峰彇褰撳墠鏈烘瀯鐨勬弧鎰忓害闂鍒嗙被
             sysUser.setBelongDepts(list);
+            Map<String, Object> satisfactionCategories = new HashMap<>();
+            //鑾峰彇璇煶闂鍒嗙被
+            IvrLibaScriptAssort ivrLibaScriptAssort = new IvrLibaScriptAssort();
+            ivrLibaScriptAssort.setOrgid(sysUser.getOrgid());
+            ivrLibaScriptAssort.setType("myd");
+            List<IvrLibaScriptAssort> ivrLibaScriptAssorts = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaScriptAssort);
+            List<Map<String, Object>> categoryList = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(ivrLibaScriptAssorts)) {
+                for (IvrLibaScriptAssort assort : ivrLibaScriptAssorts) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("categoryid", assort.getId());
+                    map.put("categoryName", assort.getIndexAssortName());
+                    categoryList.add(map);
+                }
+            }
+            satisfactionCategories.put("voiceCategories", categoryList);
+
+            //鑾峰彇闂嵎闂鍒嗙被
+            SvyLibScriptCategory svyLibScriptCategory = new SvyLibScriptCategory();
+            svyLibScriptCategory.setOrgid(sysUser.getOrgid());
+            svyLibScriptCategory.setType("myd");
+            List<SvyLibScriptCategory> svyLibScriptCategories = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryList(svyLibScriptCategory);
+            List<Map<String, Object>> questionnaireCategorys = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(svyLibScriptCategories)) {
+                for (SvyLibScriptCategory scriptCategory : svyLibScriptCategories) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("categoryid", scriptCategory.getId());
+                    map.put("categoryName", scriptCategory.getName());
+                    questionnaireCategorys.add(map);
+                }
+            }
+            satisfactionCategories.put("questionnaireCategorys", CollectionUtils.isEmpty(questionnaireCategorys) ? null : questionnaireCategorys);
+
+            //璁剧疆褰撳墠鐢ㄦ埛鐨勫0闊抽棶棰樺垎绫诲拰闂嵎闂鍒嗙被
+            sysUser.setSatisfactionCategories(satisfactionCategories);
         }
         return sysUser;
     }
@@ -272,7 +341,23 @@
     @Override
     public SysUser selectUserByUserNameAndDeptId(String userName) {
         String[] split = userName.split("&");
+        if (split[2].contains("null")) {
+            split[2] = null;
+        }
         SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
+
+        //鑾峰彇褰撳墠鐧婚檰浜虹殑鏈烘瀯鍜岄櫌鍖�
+        SysUserOrg sysUserOrg = new SysUserOrg();
+        sysUserOrg.setUserId(sysUser.getUserId().toString());
+        sysUserOrg.setOrgid(split[1].equals("null") ? "" : split[1]);
+        sysUserOrg.setCampusid(split[3].equals("null") ? "" : split[3]);
+        List<SysUserOrg> sysUserOrgs = sysUserOrgMapper.selectSysUserOrgList(sysUserOrg);
+        if (!CollectionUtils.isEmpty(sysUserOrgs)) {
+            sysUser.setOrgid(sysUserOrgs.get(0).getOrgid());
+            sysUser.setCampusid(sysUserOrgs.get(0).getCampusid());
+        }
+
+        log.info("selectUserByUserNameAndDeptId鐨剆ysUser鐨勫�间负锛歿}", sysUser);
         if (Objects.isNull(sysUser)) return sysUser;
         List<SysDept> sysDepts = null;
         if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
@@ -432,7 +517,7 @@
     @Override
     public String checkUserNameUnique(SysUser user) {
         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
+        SysUser info = userMapper.checkUserNameUnique(user);
         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -512,15 +597,66 @@
         // 鏂板鐢ㄦ埛淇℃伅
         int rows = userMapper.insertUser(user);
         //鏂板鐢ㄦ埛涓庨儴闂ㄥ叧鑱�
-        if (!CollectionUtils.isEmpty(user.getDepts())) {
-            for (Long deptId : user.getDepts()) {
-                SysUserDept sysUserDep = new SysUserDept();
-                sysUserDep.setUserId(user.getUserId());
-                sysUserDep.setDeptId(deptId);
-                sysUserDep.setCreateTime(new Date());
-                sysUserDep.setUpdateTime(new Date());
-                sysUserDep.setOrgid(user.getOrgid());
-                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//        if (!CollectionUtils.isEmpty(user.getDepts())) {
+//            for (Long deptId : user.getDepts()) {
+//                SysUserDept sysUserDep = new SysUserDept();
+//                sysUserDep.setUserId(user.getUserId());
+//                sysUserDep.setDeptId(deptId);
+//                sysUserDep.setCreateTime(new Date());
+//                sysUserDep.setUpdateTime(new Date());
+//                sysUserDep.setOrgid(user.getOrgid());
+//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
+//            }
+//        }
+        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+            for (String deptCode : user.getDeptCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
+
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setOrgid(user.getOrgid());
+                sysUserDept.setDeptCode(deptCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("1");
+                sysUserDept.setDeptName(sysDept.getDeptName());
+                sysUserDept.setUpdateTime(new Date());
+                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+                    sysUserDept.setId(sysUserDepts.get(0).getId());
+                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                    continue;
+                }
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
+            }
+        }
+        if (!CollectionUtils.isEmpty(user.getWardCodes())) {
+            for (String wardCode : user.getWardCodes()) {
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
+                if (ObjectUtils.isEmpty(sysDept)) {
+                    continue;
+                }
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(user.getUserId());
+                sysUserDept.setDeptCode(wardCode);
+                sysUserDept.setDeptId(sysDept.getDeptId());
+                sysUserDept.setOrgid(user.getOrgid());
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+                sysUserDept.setDelFlag(0L);
+                sysUserDept.setDeptType("2");
+                sysUserDept.setOrgid(user.getOrgid());
+                sysUserDept.setDeptName(sysDept.getDeptName());
+                sysUserDept.setUpdateTime(new Date());
+                if (!CollectionUtils.isEmpty(sysUserDepts)) {
+                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                    continue;
+                }
+                sysUserDept.setCreateTime(new Date());
+                sysUserDeptMapper.insertSysUserDept(sysUserDept);
             }
         }
         // 鏂板鐢ㄦ埛宀椾綅鍏宠仈
@@ -583,7 +719,7 @@
 //        }
         if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
             for (String deptCode : user.getDeptCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }
@@ -609,7 +745,7 @@
         }
         if (!CollectionUtils.isEmpty(user.getWardCodes())) {
             for (String wardCode : user.getWardCodes()) {
-                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
+                SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode);
                 if (ObjectUtils.isEmpty(sysDept)) {
                     continue;
                 }

--
Gitblit v1.9.3