Przeglądaj źródła

feat: 多人承接积分包做满后,接包记录状态同步

李学松 2 lat temu
rodzic
commit
2bc084bfba

+ 24 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -3937,8 +3937,7 @@ public class ApiController {
 								.ne(WmTask::getTaskStatus, "4")
 								.eq(WmTask::getRealFlag, "0"));
 						// 判断定量还是定额 1- 定额   2-定量 6-定额+定量
-						if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), wmScorePackage1.getPackageType1())
-								|| StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
+						if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
 
 							int totalCount = 0;
 							for (WmTask wmtask : wmTaskList) {
@@ -3950,6 +3949,29 @@ public class ApiController {
 								scorePackageStatus.setTaskAddFlag("0");
 								wmScorePackageStatusService.updateById(scorePackageStatus);
 							}
+						} else if (StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
+							// 多人积分包处理
+							int totalCount = 0;
+							for (WmTask wmtask : wmTaskList) {
+								totalCount += wmtask.getScore();
+							}
+
+							if (totalCount >= wmScorePackage1.getScore()) {
+								wmScorePackage1.setTaskAddFlag("0");
+								List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
+										.eq(WmScorePackageStatus::getStatus, "2")
+										.eq(WmScorePackageStatus::getTaskAddFlag, "1")
+										.eq(WmScorePackageStatus::getPackageId, tWmScorePackage.getId()));
+								if (CollUtil.isNotEmpty(packageStatusList)) {
+									packageStatusList.forEach(packageStatus -> {
+										WmScorePackageStatus updatePackageStatus = new WmScorePackageStatus();
+										updatePackageStatus.setId(packageStatus.getId());
+										updatePackageStatus.setTaskAddFlag("0");
+										updatePackageStatus.setUpdateTime(LocalDateTime.now());
+										wmScorePackageStatusService.updateById(updatePackageStatus);
+									});
+								}
+							}
 						} else if ("2".equals(wmScorePackage1.getPackageType1())) {
 							score = 0;
 

+ 31 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageStatusServiceImpl.java

@@ -376,8 +376,7 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 		/**
 		 * 判断定量还是定额 1- 定额   2-定量
 		 */
-		if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(wmScorePackage.getPackageType1())
-				|| PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
+		if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
 
 			int totalCount = 0;
 			for (WmTask wmtask : wmTaskList) {
@@ -392,6 +391,36 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 				scorePackageStatus.setTaskAddFlag("1");
 			}
 			wmScorePackageStatusMapper.updateById(scorePackageStatus);
+		} else if (PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
+			// 多人积分包处理
+			int totalCount = 0;
+			for (WmTask wmtask : wmTaskList) {
+				totalCount += wmtask.getScore();
+			}
+
+			String taskAddFlag = null;
+			if (totalCount >= wmScorePackage.getScore()) {
+				wmScorePackage.setTaskAddFlag("0");
+				taskAddFlag = "0";
+			}else {
+				wmScorePackage.setTaskAddFlag("1");
+				taskAddFlag = "1";
+			}
+
+			List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusMapper.selectList(Wrappers.<WmScorePackageStatus>lambdaQuery()
+					.eq(WmScorePackageStatus::getStatus, "2")
+					.eq(WmScorePackageStatus::getTaskAddFlag, "1")
+					.eq(WmScorePackageStatus::getPackageId, wmScorePackage.getId()));
+			if (CollUtil.isNotEmpty(packageStatusList)) {
+				String finalTaskAddFlag = taskAddFlag;
+				packageStatusList.forEach(packageStatus -> {
+					WmScorePackageStatus updatePackageStatus = new WmScorePackageStatus();
+					updatePackageStatus.setId(packageStatus.getId());
+					updatePackageStatus.setTaskAddFlag(finalTaskAddFlag);
+					updatePackageStatus.setUpdateTime(LocalDateTime.now());
+					wmScorePackageStatusMapper.updateById(updatePackageStatus);
+				});
+			}
 		} else {
 			List<WmTask> userTaskList = wmTaskList.stream().filter(item ->
 					item.getTaskUserId().equals(wmTask.getTaskUserId())).collect(Collectors.toList());

+ 25 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java

@@ -762,8 +762,7 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 						List<WmTask> wmTaskList = wmTaskService.list(taskQueryWrapper);
 
 						// 判断定量还是定额 1- 定额   2-定量
-						if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), wmScorePackage1.getPackageType1())
-								|| StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
+						if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
 
 							int totalCount = 0;
 							for (WmTask wmtask : wmTaskList) {
@@ -776,6 +775,30 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 								wmScorePackageStatusService.updateById(scorePackageStatus);
 							}
 							resultMap.put("type", "1");
+						} else if (StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), wmScorePackage1.getPackageType1())) {
+							// 多人积分包处理
+							int totalCount = 0;
+							for (WmTask wmtask : wmTaskList) {
+								totalCount += wmtask.getScore();
+							}
+
+							if (totalCount >= wmScorePackage1.getScore()) {
+								wmScorePackage1.setTaskAddFlag("0");
+								List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
+										.eq(WmScorePackageStatus::getStatus, "2")
+										.eq(WmScorePackageStatus::getTaskAddFlag, "1")
+										.eq(WmScorePackageStatus::getPackageId, tWmScorePackage.getId()));
+								if (CollUtil.isNotEmpty(packageStatusList)) {
+									packageStatusList.forEach(packageStatus -> {
+										WmScorePackageStatus updatePackageStatus = new WmScorePackageStatus();
+										updatePackageStatus.setId(packageStatus.getId());
+										updatePackageStatus.setTaskAddFlag("0");
+										updatePackageStatus.setUpdateTime(LocalDateTime.now());
+										wmScorePackageStatusService.updateById(updatePackageStatus);
+									});
+								}
+							}
+							resultMap.put("type", "1");
 						} else if ("2".equals(wmScorePackage1.getPackageType1()) || "3".equals(wmScorePackage1.getPackageType1())) {
 							score = 0;