Parcourir la source

修改同步展示bug

hcst_sunzhen il y a 4 ans
Parent
commit
0bb4656621

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/OkrMemberMapper.java

@@ -14,5 +14,5 @@ public interface OkrMemberMapper extends BaseMapper<OkrContentStatus> {
 
     List<UserInfoDto> getMemberListByUserId(@Param("userId")String userId, @Param("name")String name, @Param("year")Integer year, @Param("quarter")Integer quarter);
 
-    List<UserInfoDto> getSyncUserListByMemberId(@Param("memberId")String memberId, @Param("year")Integer year, @Param("quarter")Integer quarter);
+    List<String> getSyncUserListByMemberId(@Param("memberId")String memberId, @Param("year")Integer year, @Param("quarter")Integer quarter, @Param("name")String name);
 }

+ 1 - 1
src/main/java/cn/com/ctop/okr/mapper/OkrObjectInfoMapper.java

@@ -9,7 +9,7 @@ import java.util.List;
 public interface OkrObjectInfoMapper extends BaseMapper<OkrObjectInfo> {
    List<OkrObjectInfo> getQuarterObject(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter);
 
-   List<OkrObjectInfo> getAllQuarterObject(@Param("userId")String userId, @Param("year")Integer year, @Param("quarter")Integer quarter, @Param("name")String name);
+   List<OkrObjectInfo> getAllQuarterObject(@Param("userIdList")List<String> userIdList, @Param("year")Integer year, @Param("quarter")Integer quarter);
 
    Long insertObjectInfo(@Param("object")OkrObjectInfo object);
 

+ 7 - 4
src/main/java/cn/com/ctop/okr/mapper/xml/OkrMemberMapper.xml

@@ -48,11 +48,11 @@
     </insert>
 
     <!-- 获取本季度同步给我OKR的同事的列表 -->
-    <select id="getSyncUserListByMemberId" resultType="cn.com.ctop.okr.dto.UserInfoDto">
+    <select id="getSyncUserListByMemberId" resultType="string">
         select
-        a.user_id as userId,
-        b.name as name,
-        d.depart_name as departName
+        a.user_id as userId
+        -- b.name as name,
+        -- d.depart_name as departName
         from
         okr_member a
         left join wx_user_info b on a.user_id = b.open_id
@@ -62,6 +62,9 @@
         a.year = #{year} and
         a.quarter = #{quarter} and
         a.member_id = #{memberId}
+        <if test="name != null and name != '' ">
+            and b.name like concat('%',#{name},'%')
+        </if>
     </select>
 
 </mapper>

+ 5 - 4
src/main/java/cn/com/ctop/okr/mapper/xml/OkrObjectInfoMapper.xml

@@ -74,14 +74,15 @@
         okr_object_info a
         left join wx_user_info b on a.user_id = b.open_id
         where
-        a.user_id != #{userId}
+        a.user_id in
+        <foreach collection="userIdList" item="item" separator=","
+                 open="(" close=")">
+            #{item}
+        </foreach>
         and
         a.year = #{year}
         and
         a.quarter = #{quarter}
-        <if test="name">
-            and b.name like concat('%',#{name},'%')
-        </if>
     </select>
 
 </mapper>

+ 15 - 12
src/main/java/cn/com/ctop/okr/service/impl/OkrServiceImpl.java

@@ -295,11 +295,11 @@ public class OkrServiceImpl implements OkrService {
     public Map<String, Object> getSyncUserListByMemberId(Integer year, Integer quarter, String name){
         QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
         String memberId = sysUser.getOpenId();
-        //String memberId = "ou_03c4826ae66623a53f2af456ff3661a1";
+        //String memberId = "obQGf1fqw5_RJGrLzhWBioxUH0T0";
         Integer isCurrentQuarter = null;
         Map<String, Object> map = new HashMap<>();
         //List<List<Map<String, Object>>> list = new ArrayList<>();
-        //List<UserInfoDto> userList = okrMemberMapper.getSyncUserListByMemberId(memberId, year, quarter);
+        List<String> userList = okrMemberMapper.getSyncUserListByMemberId(memberId, year, quarter, name);
 
         Integer todayQuarter = DateUtils.getQuarter(new Date());
         Integer todayYear = DateUtils.getYear(new Date());
@@ -316,16 +316,19 @@ public class OkrServiceImpl implements OkrService {
         }
 
         List<Map<String, Object>> mapList = new ArrayList<>();
-        List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoMapper.getAllQuarterObject(memberId, year, quarter, name);
-
-        for(OkrObjectInfo object:OkrObjectInfoList){
-            Map<String, Object> okrmap = new HashMap<>();
-            List<OkrKrInfo> krList = okrKrInfoMapper.getKrByObjectId(object.getId(), object.getUserId(), year, quarter);
-            QYWxUserInfo userInfo = wxUserInfoMapper.getUserInfoByOpenId(object.getUserId());
-            okrmap.put("krList", krList);
-            okrmap.put("object", object);
-            okrmap.put("name",userInfo.getName());
-            mapList.add(okrmap);
+        if(userList!=null && userList.size()!=0){
+            List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoMapper.getAllQuarterObject(userList, year, quarter);
+
+            for(OkrObjectInfo object:OkrObjectInfoList){
+                Map<String, Object> okrmap = new HashMap<>();
+                List<OkrKrInfo> krList = okrKrInfoMapper.getKrByObjectId(object.getId(), object.getUserId(), year, quarter);
+                QYWxUserInfo userInfo = wxUserInfoMapper.getUserInfoByOpenId(object.getUserId());
+                okrmap.put("krList", krList);
+                okrmap.put("object", object);
+                okrmap.put("name",userInfo.getName());
+                mapList.add(okrmap);
+            }
+
         }
 
         map.put("isCurrentQuarter",isCurrentQuarter);