Browse Source

fix: 查询关联积分包的可分配积分值应该可以了

lixuesong 1 year ago
parent
commit
bc615738ad

+ 1 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskController.java

@@ -35,14 +35,12 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * 企业任务控制器
@@ -71,7 +69,7 @@ public class WmDeptTaskController {
     public R<?> listRelatedEntPackage() {
         Integer deptId = SecurityUtils.getUser().getDeptId();
 
-        List<WmScorePackage> packageList = wmScorePackageService.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"}, null);
+        List<WmScorePackage> packageList = wmScorePackageService.getScorePackagekfpjf(null, deptId, new String[]{"0", "1", "2"}, null);
 
         List<Map<String, String>> results = new ArrayList<>();
         if (CollUtil.isNotEmpty(packageList)) {

+ 5 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java

@@ -216,10 +216,11 @@ public interface WmScorePackageService extends IService<WmScorePackage> {
 	/**
 	 * 获取指定企业下积分包的可分配积分值
 	 *
-	 * @param deptId     企业id
-	 * @param typeIds    企业类型
-	 * @param packageIds 积分包id
+	 * @param superDeptId 上级企业id
+	 * @param deptId      企业id
+	 * @param typeIds     企业类型
+	 * @param packageIds  积分包id
 	 * @return 结果
 	 */
-	List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds, String[] packageIds);
+	List<WmScorePackage> getScorePackagekfpjf(Integer superDeptId, Integer deptId, String[] typeIds, String[] packageIds);
 }

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskServiceImpl.java

@@ -85,7 +85,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
 
         // 校验是否超过可分配积分值
         List<WmScorePackage> scorePackagekfpjf =
-                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                wmScorePackageService.getScorePackagekfpjf(null, SecurityUtils.getUser().getDeptId(),
                         new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
         if (params.getScore() > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");
@@ -182,7 +182,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
 
         // 校验是否超过可分配积分值
         List<WmScorePackage> scorePackagekfpjf =
-                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                wmScorePackageService.getScorePackagekfpjf(null, SecurityUtils.getUser().getDeptId(),
                         new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
         if (score > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");
@@ -276,7 +276,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
 
         // 校验是否超过可分配积分值
         List<WmScorePackage> scorePackagekfpjf =
-                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                wmScorePackageService.getScorePackagekfpjf(null, SecurityUtils.getUser().getDeptId(),
                         new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
         if (score > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");

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

@@ -543,11 +543,12 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		}
 		//查询分配给当前用户机构的积分包,deptid为当前用户,而且typeid=1或2
 		Integer deptId = SecurityUtils.getUser().getDeptId();
-//		wmScorePackage.setDeptId(deptId);
-//		wmScorePackage.setTypeid("0,1,2");
-//		wmScorePackage.setSendPackageDeptId(wmScorePackage.getRelatedService());
-		List<WmScorePackage> packageList = this.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"},
-				StrUtil.isNotBlank(wmScorePackage.getId()) ? new String[]{wmScorePackage.getId()} : null);
+		Integer superDeptId = StrUtil.isNotBlank(wmScorePackage.getRelatedService()) ?
+				Integer.valueOf(wmScorePackage.getRelatedService()) : null;
+		List<WmScorePackage> packageList =
+				this.getScorePackagekfpjf(superDeptId, deptId,
+						new String[]{"0", "1", "2"}, StrUtil.isNotBlank(wmScorePackage.getId()) ?
+								new String[]{wmScorePackage.getId()} : null);
 
 		for (WmScorePackage wmScorePackage1 : packageList) {
 			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(wmScorePackage1.getId());
@@ -3178,19 +3179,23 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	/**
 	 * 获取指定企业下积分包的可分配积分值
 	 *
-	 * @param deptId     企业id
-	 * @param typeIds    企业类型
-	 * @param packageIds 积分包id
+	 * @param superDeptId 上级企业id
+	 * @param deptId      企业id
+	 * @param typeIds     企业类型
+	 * @param packageIds  积分包id
 	 * @return 结果
 	 */
 	@Override
-	public List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds, String[] packageIds) {
+	public List<WmScorePackage> getScorePackagekfpjf(Integer superDeptId, Integer deptId, String[] typeIds, String[] packageIds) {
 		// 查询企业下的积分包
 		LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
 				.in(WmScorePackage::getTypeid, typeIds)
 				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
 				.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
 				.eq(WmScorePackage::getOldPackage, "0");
+		if (superDeptId != null) {
+			queryWrapper.eq(WmScorePackage::getSendPackageDeptId, superDeptId);
+		}
 		if (deptId != null) {
 			queryWrapper.eq(WmScorePackage::getDeptId, deptId);
 		}