|
@@ -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();
|