|
@@ -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;
|
|
@@ -16,6 +17,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSubmissionPercentRuleMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
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;
|
|
@@ -48,6 +52,40 @@ public class WmTaskSubmissionPercentRuleServiceImpl
|
|
|
|
|
|
private final WmTaskTypeService wmTaskTypeService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 初始化企业的任务类型配置的信息
|
|
|
+ *
|
|
|
+ * @param deptIds 企业id集合
|
|
|
+ * @return 初始化结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean initTaskTypeConfigRule(Collection<Integer> deptIds) {
|
|
|
+ log.info("初始化企业的任务类型配置的信息deptIds={}", deptIds);
|
|
|
+
|
|
|
+ // 查询平台配置的任务类型配置的规则
|
|
|
+ List<WmTaskSubmissionPercentRule> percentRules = this.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
|
|
|
+ .eq(WmTaskSubmissionPercentRule::getDeptId, CommonConstants.TENANT_ID_1)
|
|
|
+ .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.setRuleId(null);
|
|
|
+ insertRule.setCreateTime(now);
|
|
|
+ insertRules.add(insertRule);
|
|
|
+ });
|
|
|
+
|
|
|
+ this.saveBatch(insertRules);
|
|
|
+ }
|
|
|
+
|
|
|
+ return Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 校验任务百分比限制规则(达到要求的积分包,【任务配置】-【百分比限制】所选的任务总完成积分值不得大于积分包值*百分比)
|
|
|
*
|