|
@@ -2454,6 +2454,55 @@ public class WmScorePackageController {
|
|
|
return wmScorePackageService.getRelationScoreList(wmScorePackage);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询接单对象范围
|
|
|
+ *
|
|
|
+ * @return {@link R}<{@link ?}>
|
|
|
+ */
|
|
|
+ @GetMapping("/list-package-user-scope")
|
|
|
+ public R<?> listPackageUserScope() {
|
|
|
+ Integer sendDeptId = SecurityUtils.getUser().getDeptId();
|
|
|
+
|
|
|
+ QueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>query()
|
|
|
+ .select("package_user_scope")
|
|
|
+ .and(wrapper ->
|
|
|
+ wrapper.eq("package_type1", PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val())
|
|
|
+ .eq("package_type2", PackageTypeEnum.TYPE2_TASK_PACKAGE.val())
|
|
|
+ .or(wrapper2 -> wrapper2.eq("package_type1", PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val())
|
|
|
+ .eq("package_type2", PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val())))
|
|
|
+ .eq("send_package_dept_id", sendDeptId)
|
|
|
+ .in("typeid", "3", "4", "5");
|
|
|
+ List<WmScorePackage> packages = wmScorePackageService.list(queryWrapper);
|
|
|
+ if (CollUtil.isEmpty(packages)) {
|
|
|
+ return R.ok(Collections.emptyList());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> pacakgeUserScores = packages.stream()
|
|
|
+ .map(WmScorePackage::getPackageUserScope)
|
|
|
+ .distinct().sorted().collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Map<String, String>> result = new ArrayList<>();
|
|
|
+ Map<String, String> val1 = new HashMap<>();
|
|
|
+ val1.put("id", "1");
|
|
|
+ val1.put("name", "仅内部可见");
|
|
|
+ Map<String, String> val2 = new HashMap<>();
|
|
|
+ val2.put("id", "2");
|
|
|
+ val2.put("name", "全部可见");
|
|
|
+ result.add(val1);
|
|
|
+ result.add(val2);
|
|
|
+ // 查询团队名称
|
|
|
+ List<WmTeam> teams = wmTeamService.listByIds(pacakgeUserScores);
|
|
|
+ List<Map<String, String>> teamNameList = teams.stream().map(t -> {
|
|
|
+ Map<String, String> teamNameMap = new HashMap<>(2);
|
|
|
+ teamNameMap.put("id", String.valueOf(t.getId()));
|
|
|
+ teamNameMap.put("name", t.getName());
|
|
|
+ return teamNameMap;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ result.addAll(teamNameList);
|
|
|
+
|
|
|
+ return R.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 分配积分列表查询--派工平台
|
|
|
*
|
|
@@ -2471,7 +2520,8 @@ public class WmScorePackageController {
|
|
|
@RequestParam(value = "monthEnd", required = false) String monthEnd,
|
|
|
@RequestParam(value = "acceptUser", required = false) String acceptUser,
|
|
|
@RequestParam(value = "relationScoreId", required = false) String relationScoreId,
|
|
|
- @RequestParam(value = "toApproval", required = false) Boolean toApproval
|
|
|
+ @RequestParam(value = "toApproval", required = false) Boolean toApproval,
|
|
|
+ @RequestParam(value = "packageUserScope", required = false) String packageUserScope
|
|
|
) {
|
|
|
|
|
|
Integer sendDeptId = SecurityUtils.getUser().getDeptId();
|
|
@@ -2506,21 +2556,26 @@ public class WmScorePackageController {
|
|
|
queryWrapper.in("p.typeid", split);
|
|
|
}
|
|
|
|
|
|
- boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
|
|
|
- && PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
|
|
|
- boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
|
|
|
- && PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
|
|
|
- if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
|
|
|
- // 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
|
|
|
- List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
|
|
|
- .eq(WmTeam::getDeptId, sendDeptId)
|
|
|
- .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());
|
|
|
- queryWrapper.in("p.package_user_scope", teamIdList);
|
|
|
+ // 接单对象范围筛选
|
|
|
+ if (StrUtil.isNotBlank(packageUserScope)) {
|
|
|
+ queryWrapper.eq("p.package_user_scope", packageUserScope);
|
|
|
+ } else {
|
|
|
+ boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
|
|
|
+ && PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
|
|
|
+ boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
|
|
|
+ && PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
|
|
|
+ if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
|
|
|
+ // 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
|
|
|
+ List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
|
|
|
+ .eq(WmTeam::getDeptId, sendDeptId)
|
|
|
+ .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());
|
|
|
+ queryWrapper.in("p.package_user_scope", teamIdList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|