Browse Source

fix: 团队管理-修复众包任务审核列表数据

lixuesong 3 năm trước cách đây
mục cha
commit
92793a3259

+ 18 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageStatusController.java

@@ -17,6 +17,7 @@
 
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
@@ -25,10 +26,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatusBatch;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
+import com.qunzhixinxi.hnqz.admin.entity.WmTeam;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.service.WmTeamService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -61,6 +66,7 @@ public class WmScorePackageStatusController {
     private final  WmScorePackageStatusService wmScorePackageStatusService;
 	private final WmTaskService wmTaskService;
 	private final WmScorePackageService wmScorePackageService;
+	private final WmTeamService wmTeamService;
 
 	/**
      * 分页查询
@@ -78,9 +84,18 @@ public class WmScorePackageStatusController {
 		Integer userId = SecurityUtils.getUser().getId();
 		Integer deptId = SecurityUtils.getUser().getDeptId();
 		wmScorePackageStatus.setUserId(String.valueOf(userId));
-		wmScorePackageStatus.setAdminUserId(String.valueOf(userId));
-		wmScorePackageStatus.setDeptId(String.valueOf(deptId));
-        return R.ok(wmScorePackageStatusService.getWmScorePackageStatusPage(page,wmScorePackageStatus));
+		// 判断当前用户是否配置了团队负责人
+		List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
+				.eq(WmTeam::getDeptId, deptId)
+				.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
+		if (CollectionUtil.isNotEmpty(teamList)) {
+			// 如果配置了,则只查询所在团队下发的积分包
+			List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
+			wmScorePackageStatus.setTeamIdList(teamIdList);
+		}
+        return R.ok(wmScorePackageStatusService.getWmScorePackageStatusPage(page, wmScorePackageStatus));
     }
 
 

+ 3 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackageStatus.java

@@ -28,6 +28,7 @@ import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 积分包状态
@@ -171,8 +172,8 @@ public class WmScorePackageStatus extends Model<WmScorePackageStatus> {
 	private String userRealName;
 
 	/**
-	 * 管理员用户id
+	 * 团队id list
 	 */
 	@TableField(exist = false)
-	private String adminUserId;
+	private List<String> teamIdList;
 }

+ 6 - 6
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageStatusMapper.xml

@@ -140,12 +140,6 @@
 		where  s.del_flag=0  and p.del_flag=0
 		  and p.typeid=4
 		  and p.source_type = '0'
-		/* 判断接单对象范围package_user_scope小于1000则是普通任务,大于1000则是团队发的包。如果adminUserId不是任何一个团队的负责人则可以查看全部;
-			如果adminUserId是团队负责人且是下发该包的团队的,则可以看到该包对应的任务 */
-		  and (p.package_user_scope &lt; '1000'
-		           and (SELECT COUNT(1) FROM wm_team WHERE del_flag=0 and enable_flag=0 and dept_id=#{query.deptId} and FIND_IN_SET(#{query.adminUserId}, leader)) = 0
-			 or (p.package_user_scope &gt;='1000'
-			         and FIND_IN_SET(#{query.adminUserId}, (SELECT leader FROM wm_team WHERE id = p.package_user_scope))))
 		<if test="query.id!=null and query.id!=''">
 			and s.id=#{query.id}
 		</if>
@@ -164,6 +158,12 @@
 		<if test="query.status !=null">
 			and s.status = #{query.status}
 		</if>
+		<if test="query.teamIdList != null">
+			and p.package_user_scope in
+			<foreach item="teamId" index="index" collection="query.teamIdList" open="(" separator="," close=")">
+				#{teamId}
+			</foreach>
+		</if>
 		order by s.create_time desc
 	</select>