浏览代码

Merge branch 'hotfix-20230828-depttasktypeconfiginit'

# Conflicts:
#	hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java
lixuesong 1 年之前
父节点
当前提交
274830714a

+ 18 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSubmissionPercentRuleService.java

@@ -5,6 +5,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -15,6 +16,23 @@ import java.util.List;
  */
 public interface WmTaskSubmissionPercentRuleService extends IService<WmTaskSubmissionPercentRule> {
 
+	/**
+	 * 初始化企业的任务类型配置的信息
+	 *
+	 * @param deptIds 企业id集合
+	 * @return 初始化结果
+	 */
+	Boolean initTaskTypeConfigRule(Collection<Integer> deptIds);
+
+	/**
+	 * 初始化企业的任务类型配置的信息
+	 *
+	 * @param deptIds 企业id集合
+	 * @param sourceDeptId 源数据企业id
+	 * @return 初始化结果
+	 */
+	Boolean initTaskTypeConfigRule(Collection<Integer> deptIds, Integer sourceDeptId);
+
 	/**
 	 * 校验任务百分比限制规则(达到要求的积分包,【任务配置】-【百分比限制】所选的任务总完成积分值不得大于积分包值*百分比)
 	 *

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java

@@ -78,6 +78,7 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 	private final SysDeptMapper sysDeptMapper;
 	private final SysDeptSubMapper sysDeptSubMapper;
 	private final WmTaskSubmissionRuleService taskSubmissionRuleService;
+	private final WmTaskSubmissionPercentRuleService taskSubmissionPercentRuleService;
 	private final RedisTemplate redisTemplate;
 
 	public String getDeptBuildName(String deptId) {
@@ -147,6 +148,8 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 				// 初始化企业限制信息
 				taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
+				// 初始化企业的任务类型配置的信息
+				taskSubmissionPercentRuleService.initTaskTypeConfigRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
 
 				List<SysDeptRelation> newList = new ArrayList<>();
 				SysDeptRelation sysDeptRelation = new SysDeptRelation();
@@ -175,6 +178,8 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 				// 初始化企业限制信息
 				taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
+				// 初始化企业的任务类型配置的信息
+				taskSubmissionPercentRuleService.initTaskTypeConfigRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())), deptId);
 
 				List<SysDeptRelation> newList = new ArrayList<>();
 				SysDeptRelation sysDeptRelation = new SysDeptRelation();
@@ -425,6 +430,8 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 		// 初始化任务规则
 		taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(deptId));
+		// 初始化企业的任务类型配置的信息
+		taskSubmissionPercentRuleService.initTaskTypeConfigRule(Collections.singleton(Integer.valueOf(wmDaAgent.getDeptId())));
 
 		this.updateById(wmDaAgent);
 		List<WmRelation> newList = new ArrayList<>();

+ 4 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntServiceImpl.java

@@ -33,6 +33,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionRuleService;
 import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -62,6 +63,7 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 	private final SysDeptRelationService sysDeptRelationService;
 	private final SysDeptSubMapper sysDeptSubMapper;
 	private final WmTaskSubmissionRuleService taskSubmissionRuleService;
+	private final WmTaskSubmissionPercentRuleService taskSubmissionPercentRuleService;
 
 	@Override
 	@Transactional
@@ -162,6 +164,8 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 
 			// 初始化任务规则
 			taskSubmissionRuleService.initDeptTaskSubmissionRule(Collections.singleton(sysDept.getDeptId()));
+			// 初始化企业的任务类型配置的信息
+			taskSubmissionPercentRuleService.initTaskTypeConfigRule(Collections.singleton(sysDept.getDeptId()));
 
 			// 创建结算渠道和通道
 //			if (CollUtil.isNotEmpty(entity.getSubjectTypeAndChannel())) {

+ 57 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionPercentRuleServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
@@ -12,10 +13,11 @@ import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSubmissionPercentRuleMapper;
-import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeMapper;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
-import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
@@ -23,8 +25,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -44,9 +48,56 @@ public class WmTaskSubmissionPercentRuleServiceImpl
 		extends ServiceImpl<WmTaskSubmissionPercentRuleMapper, WmTaskSubmissionPercentRule>
 		implements WmTaskSubmissionPercentRuleService {
 
-	private final WmTaskService wmTaskService;
+	private final WmTaskMapper wmTaskMapper;
 
-	private final WmTaskTypeService wmTaskTypeService;
+	private final WmTaskTypeMapper wmTaskTypeMapper;
+
+	/**
+	 * 初始化企业的任务类型配置的信息
+	 *
+	 * @param deptIds 企业id集合
+	 * @return 初始化结果
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean initTaskTypeConfigRule(Collection<Integer> deptIds) {
+		return this.initTaskTypeConfigRule(deptIds, CommonConstants.TENANT_ID_1);
+	}
+
+	/**
+	 * 初始化企业的任务类型配置的信息
+	 *
+	 * @param deptIds 企业id集合
+	 * @param sourceDeptId 源数据企业id
+	 * @return 初始化结果
+	 */
+	@Override
+	public Boolean initTaskTypeConfigRule(Collection<Integer> deptIds, Integer sourceDeptId) {
+		log.info("初始化企业的任务类型配置的信息deptIds={}", deptIds);
+
+		// 查询平台配置的任务类型配置的规则
+		List<WmTaskSubmissionPercentRule> percentRules = this.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, sourceDeptId)
+				.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG)
+				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK));
+		if (CollUtil.isNotEmpty(percentRules)) {
+			WmTaskSubmissionPercentRule platformRule = percentRules.get(0);
+
+			LocalDateTime now = LocalDateTime.now();
+			List<WmTaskSubmissionPercentRule> insertRules = new ArrayList<>();
+			deptIds.forEach(deptId -> {
+				WmTaskSubmissionPercentRule insertRule = BeanUtil.copyProperties(platformRule, WmTaskSubmissionPercentRule.class);
+				insertRule.setDeptId(deptId);
+				insertRule.setRuleId(null);
+				insertRule.setCreateTime(now);
+				insertRules.add(insertRule);
+			});
+
+			this.saveBatch(insertRules);
+		}
+
+		return Boolean.TRUE;
+	}
 
 	/**
 	 * 校验任务百分比限制规则(达到要求的积分包,【任务配置】-【百分比限制】所选的任务总完成积分值不得大于积分包值*百分比)
@@ -76,7 +127,7 @@ public class WmTaskSubmissionPercentRuleServiceImpl
 		log.info("积分校验规则:{}, \n积分校验规则分组:{}", percentRules, deptsMap);
 		deptsMap.forEach((dptId, batchRules) -> {
 			// 查询taskType
-			List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
+			List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.<WmTaskType>lambdaQuery()
 					.eq(WmTaskType::getTaskTypeLevel, "1")
 					.eq(WmTaskType::getDelFlag, "0")
 					.eq(WmTaskType::getEnableFlag, "0"));
@@ -119,7 +170,7 @@ public class WmTaskSubmissionPercentRuleServiceImpl
 					if (taskUserId != null) {
 						queryWrapper.eq(WmTask::getTaskUserId, taskUserId);
 					}
-					List<WmTask> wmTaskList = wmTaskService.list(queryWrapper);
+					List<WmTask> wmTaskList = wmTaskMapper.selectList(queryWrapper);
 
 					if (CollectionUtil.isNotEmpty(wmTaskList)) {
 						int totalScore = scorePackage.getScore();

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

@@ -89,6 +89,8 @@ public class WmTaskSubmissionRuleServiceImpl extends ServiceImpl<WmTaskSubmissio
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public Boolean initDeptTaskSubmissionRule(Collection<Integer> deptIds, Integer sourceDeptId) {
+		log.info("初始化企业限制信息deptIds={}, sourceDeptId={}", deptIds, sourceDeptId);
+
 		// 查询源数据企业的配置
 		List<WmTaskSubmissionRule> platformRules = this.list(Wrappers.<WmTaskSubmissionRule>lambdaQuery()
 				.eq(WmTaskSubmissionRule::getDeptId, sourceDeptId));