|
@@ -2,14 +2,12 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.DeptTaskDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
@@ -19,7 +17,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
|
|
|
-import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
|
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
|
|
@@ -47,6 +45,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
|
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
|
private final WmTaskContentService wmTaskContentService;
|
|
|
private final WmTaskService wmTaskService;
|
|
|
+ private final WmTaskTypeService wmTaskTypeService;
|
|
|
private final Sequence taskSequence;
|
|
|
|
|
|
/**
|
|
@@ -59,9 +58,6 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean saveEntTaskForTaskType61(DeptTaskDTO.TaskType61 params) {
|
|
|
|
|
|
- HnqzUser user = SecurityUtils.getUser();
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
-
|
|
|
// // 查询任务类型启用状态
|
|
|
// List<WmTaskSubmissionPercentRule> rules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
|
|
|
// .eq(WmTaskSubmissionPercentRule::getDeptId, user.getDeptId())
|
|
@@ -104,14 +100,102 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
|
|
|
log.info("保存taskContent参数:{}", taskContent);
|
|
|
wmTaskContentService.save(taskContent);
|
|
|
|
|
|
+ // 保存企业任务通用方法
|
|
|
+ this.saveEntTaskCommon(taskContent, params.getScore(), scorePackage);
|
|
|
+
|
|
|
+ return Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 企业任务保存-医学会各级年会及卫星会
|
|
|
+ *
|
|
|
+ * @param params 参数
|
|
|
+ * @return {@link Boolean} 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean saveEntTaskForTaskType62(DeptTaskDTO.TaskType62 params) {
|
|
|
+
|
|
|
+// // 查询任务类型启用状态
|
|
|
+// List<WmTaskSubmissionPercentRule> rules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
|
|
|
+// .eq(WmTaskSubmissionPercentRule::getDeptId, user.getDeptId())
|
|
|
+// .eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
|
|
|
+// if (CollUtil.isEmpty(rules)) {
|
|
|
+// throw new RuntimeException("当前企业未开启该任务!");
|
|
|
+// }
|
|
|
+// String[] taskTypeIds = rules.get(0).getRule().getTaskTypeIds();
|
|
|
+// if (!ArrayUtil.contains(taskTypeIds, "61")) {
|
|
|
+// throw new RuntimeException("当前企业未开启该任务!");
|
|
|
+// }
|
|
|
+
|
|
|
+ // 查询积分包
|
|
|
+ WmScorePackage scorePackage = wmScorePackageService.getById(params.getPackageId());
|
|
|
+ // 查询任务规则积分
|
|
|
+ WmTaskType wmTaskType = new WmTaskType();
|
|
|
+ wmTaskType.setRuleId(scorePackage.getRuleId());
|
|
|
+ WmTaskType queryTaskType = wmTaskTypeService.getById("62");
|
|
|
+ wmTaskType.setTaskTypeName(queryTaskType.getTaskTypeName());
|
|
|
+ int score = wmTaskTypeService.getWmTaskTypeByEnt(wmTaskType);
|
|
|
+
|
|
|
+ if (score > scorePackage.getKfpjf()) {
|
|
|
+ throw new RuntimeException("可分配积分不足!");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 保存taskContent
|
|
|
+ WmTaskContent taskContent = new WmTaskContent();
|
|
|
+ // 任务类型
|
|
|
+ taskContent.setTemp30("62");
|
|
|
+ // 积分包id
|
|
|
+ taskContent.setTemp32(params.getPackageId());
|
|
|
+ // 主题
|
|
|
+ taskContent.setTemp2(params.getMeetingtTitle());
|
|
|
+ // 时间
|
|
|
+ taskContent.setTemp3(params.getMeetingTime());
|
|
|
+ // 会议人次
|
|
|
+ taskContent.setTemp4(params.getMeetingNumber());
|
|
|
+ // 会议邀请函
|
|
|
+ taskContent.setTemp5(String.join(",", params.getMeetingInvitationUrl()));
|
|
|
+ // 会议计划表
|
|
|
+ taskContent.setTemp6(String.join(",", params.getMeetingPlanUrl()));
|
|
|
+ // 会议签到表
|
|
|
+ taskContent.setTemp7(String.join(",", params.getMeetingCheckInUrl()));// 会议邀请函
|
|
|
+ // 现场照片
|
|
|
+ taskContent.setTemp8(String.join(",", params.getLivePhotosUrl()));
|
|
|
+ // 会议内容
|
|
|
+ taskContent.setTemp9(String.join(",", params.getMeetingContentUrl()));
|
|
|
+ // 外采费用
|
|
|
+ taskContent.setTemp10(params.getOutsourcingAmount());
|
|
|
+ // 外采费用凭证
|
|
|
+ taskContent.setTemp11(String.join(",", params.getOutsourcingAmountProof()));
|
|
|
+ // 总结
|
|
|
+ taskContent.setTemp12(params.getMeetingSummary());
|
|
|
+ log.info("保存taskContent参数:{}", taskContent);
|
|
|
+ wmTaskContentService.save(taskContent);
|
|
|
+
|
|
|
+ // 保存企业任务通用方法
|
|
|
+ this.saveEntTaskCommon(taskContent, score, scorePackage);
|
|
|
+
|
|
|
+ return Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存企业任务通用方法
|
|
|
+ *
|
|
|
+ * @param taskContent 任务内容
|
|
|
+ * @param taskScore 任务积分
|
|
|
+ * @param scorePackage 积分包
|
|
|
+ */
|
|
|
+ private void saveEntTaskCommon(WmTaskContent taskContent, int taskScore, WmScorePackage scorePackage) {
|
|
|
+ HnqzUser user = SecurityUtils.getUser();
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
// 保存任务
|
|
|
WmTask task = new WmTask();
|
|
|
task.setTaskContentId(String.valueOf(taskContent.getId()));
|
|
|
task.setTaskFrom("1");
|
|
|
task.setTaskTypeId("61");
|
|
|
task.setTaskUserId(String.valueOf(user.getId()));
|
|
|
- task.setScorePackageId(params.getPackageId());
|
|
|
- task.setScore(params.getScore());
|
|
|
+ task.setScorePackageId(scorePackage.getId());
|
|
|
+ task.setScore(taskScore);
|
|
|
task.setLookintoDate(now);
|
|
|
task.setUpdateTime(now);
|
|
|
task.setDrugEntId(scorePackage.getDrugEntId());
|
|
@@ -133,7 +217,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
|
|
|
|
|
|
// 创建一条领包记录
|
|
|
WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
|
|
|
- wmScorePackageStatus.setPackageId(params.getPackageId());
|
|
|
+ wmScorePackageStatus.setPackageId(scorePackage.getId());
|
|
|
wmScorePackageStatus.setUserId(String.valueOf(user.getId()));
|
|
|
wmScorePackageStatus.setDelFlag("0");
|
|
|
wmScorePackageStatus.setEnableFlag("0");
|
|
@@ -158,25 +242,12 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
|
|
|
|
|
|
// 扣减可分配积分值
|
|
|
WmScorePackage updatePackage = new WmScorePackage();
|
|
|
- updatePackage.setId(params.getPackageId());
|
|
|
- updatePackage.setKfpjf(scorePackage.getKfpjf() - params.getScore());
|
|
|
+ updatePackage.setId(scorePackage.getId());
|
|
|
+ updatePackage.setKfpjf(scorePackage.getKfpjf() - taskScore);
|
|
|
updatePackage.setUpdateUser(user.getId());
|
|
|
updatePackage.setUpdateTime(now);
|
|
|
log.info("扣减可分配积分值参数:{}", updatePackage);
|
|
|
wmScorePackageService.updateById(updatePackage);
|
|
|
-
|
|
|
- return Boolean.TRUE;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 企业任务保存-医学会各级年会及卫星会
|
|
|
- *
|
|
|
- * @param params 参数
|
|
|
- * @return {@link Boolean} 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Boolean saveEntTaskForTaskType62(DeptTaskDTO.TaskType62 params) {
|
|
|
- return null;
|
|
|
}
|
|
|
|
|
|
/**
|