Просмотр исходного кода

fix: 应收账款回款任务类型 和 积分包关联 以及在小程序回显

lixuesong 2 лет назад
Родитель
Сommit
308fc35033

+ 5 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -914,13 +914,14 @@ public class ApiController {
 						pBaseIds.stream().filter(i -> !res.contains(i)).forEach(i -> temp.addAll(value.get(i)));
 					}
 				}
-			} else {
-				temp.addAll(wmTaskTypeService.listByIds(baseIds));
 			}
-		} else {
-			temp.addAll(wmTaskTypeService.listByIds(baseIds));
 		}
 
+		// 把上述操作没有覆盖到的子id加进来
+		Set<String> tempIds = temp.stream().map(WmTaskType::getId).collect(Collectors.toSet());
+		Set<String> extCIds = id.stream().filter(s -> !tempIds.contains(s)).collect(Collectors.toSet());
+		temp.addAll(wmTaskTypeService.listByIds(extCIds));
+
 		List<String> baseNames = temp.stream().
 				map(WmTaskType::getTaskTypeName).distinct().collect(Collectors.toList());
 		WmTaskType wmTaskType = new WmTaskType();

+ 16 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1514,7 +1514,7 @@ public class WmScorePackageController {
 		if (wmId.getLevel() == 3) {
 			for (WmScorePackage wmScorePackage1 : list) {
 				Map<String, Object> map1 = new HashMap<>();
-				if (SecurityUtils.getUser().getDeptId().equals(Integer.valueOf(wmScorePackage1.getDeptId()))) {
+				if (wmScorePackage1.getDeptId() != null && SecurityUtils.getUser().getDeptId().equals(Integer.valueOf(wmScorePackage1.getDeptId()))) {
 					map1.put("relationScoreId", wmScorePackage1.getId());
 					map1.put("scorePackageName", wmScorePackage1.getScorePackageName());
 					answerList.add(map1);
@@ -2418,6 +2418,21 @@ public class WmScorePackageController {
 				}
 				if (null != wmScorePackage.getWmScoreTaskTypeList() && wmScorePackage.getWmScoreTaskTypeList()
 						.size() > 0) {
+
+					// 如果存在taskTypeId=39 则同时增加应收账款回款-A类、B类、C类任务类型(39/40/41)
+					if (wmScorePackage.getWmScoreTaskTypeList().stream().anyMatch(wmTaskTypeTree -> "39".equals(wmTaskTypeTree.getTaskTypeId()))) {
+						WmScoreTaskType addTaskType40 = new WmScoreTaskType();
+						addTaskType40.setScoreId(wmScorePackage.getId());
+						addTaskType40.setType("1");
+						addTaskType40.setTaskTypeId("40");
+						WmScoreTaskType addTaskType41 = new WmScoreTaskType();
+						addTaskType41.setScoreId(wmScorePackage.getId());
+						addTaskType41.setType("1");
+						addTaskType41.setTaskTypeId("41");
+						wmScorePackage.getWmScoreTaskTypeList().add(addTaskType40);
+						wmScorePackage.getWmScoreTaskTypeList().add(addTaskType41);
+					}
+
 					List<WmScoreTaskType> wmScoreTaskTypess = new ArrayList<>();
 					for (WmScoreTaskType wmScoreTaskTypes : wmScorePackage.getWmScoreTaskTypeList()) {
 						WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/WmDeptTaskTypeConfigJsonDTO.java

@@ -30,7 +30,7 @@ public class WmDeptTaskTypeConfigJsonDTO {
 	/**
 	 * 任务积分
 	 */
-	private Integer score;
+	private String score;
 
 	/**
 	 * 是否限定任务

+ 8 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java

@@ -262,7 +262,14 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 				}
 				deptTaskTypeConfigJsonDTO.setTaskTypeId(taskType.getId());
 				deptTaskTypeConfigJsonDTO.setTaskTypeName(taskType.getTaskTypeName());
-				deptTaskTypeConfigJsonDTO.setScore(taskType.getScore());
+
+				if (taskType.getTaskTypeName().startsWith("应收账款回款")) {
+					// 应收账款回款-A类/应收账款回款-B类/应收账款回款-C类 积分值统一除以1000
+					deptTaskTypeConfigJsonDTO.setScore(String.valueOf(taskType.getScore() / 1000.0D));
+				} else {
+					deptTaskTypeConfigJsonDTO.setScore(String.valueOf(taskType.getScore()));
+				}
+
 				if (ArrayUtil.contains(ENABLE_ZBDB_STATUS_ARR, taskType.getTaskTypeName())) {
 					deptTaskTypeConfigJsonDTO.setZbdbStatusEnable(true);
 				} else {

+ 26 - 11
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -745,6 +745,19 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			List<WmTaskTypeTree> tasktypeList = wmScorePackage.getTaskTypeList();
 
 			if (null != tasktypeList && tasktypeList.size() > 0) {
+
+				// 如果存在taskTypeId=39 则同时增加应收账款回款-A类、B类、C类任务类型(39/40/41)
+				if (tasktypeList.stream().anyMatch(wmTaskTypeTree -> "39".equals(wmTaskTypeTree.getTaskTypeId()))) {
+					WmTaskTypeTree addTaskTypeTree40 = new WmTaskTypeTree();
+					addTaskTypeTree40.setTaskTypeId("40");
+					addTaskTypeTree40.setTaskTypeName("应收账款回款-B类");
+					WmTaskTypeTree addTaskTypeTree41 = new WmTaskTypeTree();
+					addTaskTypeTree41.setTaskTypeId("41");
+					addTaskTypeTree41.setTaskTypeName("应收账款回款-C类");
+					tasktypeList.add(addTaskTypeTree40);
+					tasktypeList.add(addTaskTypeTree41);
+				}
+
 				for (WmTaskTypeTree type : tasktypeList) {
 					WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 					wmScoreTaskType.setScoreId(wmScorePackage.getId());
@@ -756,17 +769,6 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 					}
 					if (type.getChildren() != null || type.getChildren().size() > 0) {
 						List<WmTaskTypeTree> childtasktypeList = type.getChildren();
-						// 如果存在taskTypeId=39 则同时增加应收账款回款-A类、B类、C类任务类型(39/40/41)
-						if (childtasktypeList.stream().anyMatch(wmTaskTypeTree -> "39".equals(wmTaskTypeTree.getTaskTypeId()))) {
-							WmTaskTypeTree addTaskTypeTree40 = new WmTaskTypeTree();
-							addTaskTypeTree40.setTaskTypeId("40");
-							addTaskTypeTree40.setTaskTypeName("应收账款回款-B类");
-							WmTaskTypeTree addTaskTypeTree41 = new WmTaskTypeTree();
-							addTaskTypeTree41.setTaskTypeId("41");
-							addTaskTypeTree41.setTaskTypeName("应收账款回款-C类");
-							childtasktypeList.add(addTaskTypeTree40);
-							childtasktypeList.add(addTaskTypeTree41);
-						}
 						for (WmTaskTypeTree type1 : childtasktypeList) {
 							WmScoreTaskType wmScoreTaskType1 = new WmScoreTaskType();
 							wmScoreTaskType1.setScoreId(wmScorePackage.getId());
@@ -1349,6 +1351,19 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			if (tasktypeList != null && tasktypeList.size() > 0) {
 				wmScoreTaskTypeMapper.delete(Wrappers.<WmScoreTaskType>lambdaQuery()
 						.eq(WmScoreTaskType::getScoreId, wmScorePackage.getId()));
+
+				// 如果存在taskTypeId=39 则同时增加应收账款回款-A类、B类、C类任务类型(39/40/41)
+				if (wmScorePackage.getTaskTypeList().stream().anyMatch(wmTaskTypeTree -> "39".equals(wmTaskTypeTree.getTaskTypeId()))) {
+					WmTaskTypeTree addTaskTypeTree40 = new WmTaskTypeTree();
+					addTaskTypeTree40.setTaskTypeId("40");
+					addTaskTypeTree40.setTaskTypeName("应收账款回款-B类");
+					WmTaskTypeTree addTaskTypeTree41 = new WmTaskTypeTree();
+					addTaskTypeTree41.setTaskTypeId("41");
+					addTaskTypeTree41.setTaskTypeName("应收账款回款-C类");
+					wmScorePackage.getTaskTypeList().add(addTaskTypeTree40);
+					wmScorePackage.getTaskTypeList().add(addTaskTypeTree41);
+				}
+
 				for (WmTaskTypeTree type : tasktypeList) {
 					WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 					wmScoreTaskType.setScoreId(wmScorePackage.getId());