Procházet zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 před 1 rokem
rodič
revize
38b5071ada

+ 35 - 11
src/main/java/com/xjrsoft/module/concat/service/impl/XjrUserServiceImpl.java

@@ -8,13 +8,19 @@ import com.xjrsoft.module.concat.service.IXjrUserService;
 import com.xjrsoft.module.concat.vo.ConcatTreeVo;
 import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.mapper.DepartmentMapper;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
+import com.xjrsoft.module.system.mapper.DictionarydetailMapper;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
 * @Author dzx
@@ -26,29 +32,47 @@ import java.util.List;
 public class XjrUserServiceImpl extends MPJBaseServiceImpl<XjrUserMapper, XjrUser> implements IXjrUserService {
     private final XjrUserMapper xjrUserMapper;
     private final DepartmentMapper departmentMapper;
-
+    private final DictionarydetailMapper dictionarydetailMapper;
     @Override
     public List<ConcatTreeVo> getConcatList(ConcatTreeDto dto) {
         List<ConcatTreeVo> voList = new ArrayList<>();
 
         List<ConcatTreeVo> teacherDeptInfo = xjrUserMapper.getTeacherDeptInfo(dto);
+        List<DictionaryDetail> detailList = dictionarydetailMapper.selectList(
+            new QueryWrapper<DictionaryDetail>().lambda().eq(DictionaryDetail::getItemId, 2023000000000000004L)
+        );
+        Map<String, String> dictMap = new HashMap<>();
+        for (DictionaryDetail detail : detailList) {
+            dictMap.put(detail.getCode(), detail.getName());
+        }
+        Set<Long> deptIds = new HashSet<>();
+        for (ConcatTreeVo concatTreeVo : teacherDeptInfo) {
+            deptIds.add(concatTreeVo.getParentId());
+        }
         departmentMapper.selectList(
             new QueryWrapper<Department>().lambda()
             .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
         ).forEach((node) -> {
-            voList.add(new ConcatTreeVo(){{
-                setId(node.getId());
-                setName(node.getName());
-            }});
+            if(deptIds.contains(node.getId())){
+                voList.add(new ConcatTreeVo(){{
+                    setId(node.getId());
+                    setName(node.getName());
+                }});
+            }
         });
+
         for (ConcatTreeVo concatTreeVo : teacherDeptInfo) {
-            voList.add(new ConcatTreeVo(){{
-                setId(concatTreeVo.getId());
-                setName(concatTreeVo.getName());
-                setParentId(concatTreeVo.getParentId());
-                setMobile(concatTreeVo.getMobile());
-            }});
+            if(concatTreeVo.getParentId() != null){
+                voList.add(new ConcatTreeVo(){{
+                    setId(concatTreeVo.getId());
+                    setName(concatTreeVo.getName());
+                    setParentId(concatTreeVo.getParentId());
+                    setGender(dictMap.get(concatTreeVo.getGender()));
+                    setMobile(concatTreeVo.getMobile());
+                }});
+            }
         }
+
         return voList;
     }
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/concat/vo/ConcatTreeVo.java

@@ -29,4 +29,7 @@ public class ConcatTreeVo implements ITreeNode<ConcatTreeVo, Long>, Serializable
     @ApiModelProperty("children")
     private List<ConcatTreeVo> children;
 
+    @ApiModelProperty("性别")
+    private String gender;
+
 }

+ 3 - 2
src/main/resources/mapper/teacher/XjrUserMapper.xml

@@ -14,10 +14,11 @@
     </select>
 
     <select id="getTeacherDeptInfo" parameterType="com.xjrsoft.module.concat.dto.ConcatTreeDto" resultType="com.xjrsoft.module.concat.vo.ConcatTreeVo">
-        SELECT t1.id, t1.name,t1.mobile,t2.dept_id as parent_id FROM xjr_user t1
+        SELECT t1.id, t1.name,t1.mobile,t2.dept_id as parent_id,t1.gender FROM xjr_user t1
         INNER JOIN xjr_user_dept_relation t2 ON t1.id = t2.user_id
+        inner join xjr_department t4 on t2.dept_id = t4.id
         INNER JOIN base_teacher t3 ON t1.id = t3.user_id
-        WHERE t1.delete_mark = 0
+        WHERE t1.delete_mark = 0 and t4.delete_mark = 0
         <if test="dto.name != null and dto.name != ''">
             and t1.name like concat('%', #{dto.name}, '%')
         </if>