|
@@ -1,10 +1,25 @@
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
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.entity.dto.DeptTaskDTO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.DeptTaskDTO;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
@@ -20,6 +35,8 @@ import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.Set;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 企业任务控制器
|
|
* 企业任务控制器
|
|
@@ -34,6 +51,9 @@ public class WmDeptTaskController {
|
|
|
|
|
|
private final WmScorePackageMapper wmScorePackageMapper;
|
|
private final WmScorePackageMapper wmScorePackageMapper;
|
|
private final WmDeptTaskService wmDeptTaskService;
|
|
private final WmDeptTaskService wmDeptTaskService;
|
|
|
|
+ private final WmTaskService wmTaskService;
|
|
|
|
+ private final WmTaskTypeService wmTaskTypeService;
|
|
|
|
+ private final SysUserService sysUserService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询关联的企业积分包
|
|
* 查询关联的企业积分包
|
|
@@ -62,6 +82,93 @@ public class WmDeptTaskController {
|
|
return R.ok(results);
|
|
return R.ok(results);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 分页查询企业任务
|
|
|
|
+ *
|
|
|
|
+ * @param page 分页参数
|
|
|
|
+ * @param scorePackageName 积分包名称
|
|
|
|
+ * @return {@link R}<{@link ?}> 结果
|
|
|
|
+ */
|
|
|
|
+ @GetMapping("/dept-task/page-ent-task")
|
|
|
|
+ public R<?> pageEntTask(Page<WmTaskVO> page, String scorePackageName) {
|
|
|
|
+
|
|
|
|
+ Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
|
+
|
|
|
|
+ // 查询当前企业所有的企业大包(包括上级发给自己的,和自己发给自己的)
|
|
|
|
+ LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
|
+ .eq(WmScorePackage::getDeptId, deptId)
|
|
|
|
+ .in(WmScorePackage::getTypeid, "0", "1", "2")
|
|
|
|
+ .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
|
|
|
|
+ .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
|
|
|
|
+ .eq(WmScorePackage::getOldPackage, "0");
|
|
|
|
+ if (StrUtil.isNotBlank(scorePackageName)) {
|
|
|
|
+ queryWrapper.like(WmScorePackage::getScorePackageName, scorePackageName);
|
|
|
|
+ }
|
|
|
|
+ List<WmScorePackage> relatedPackages = wmScorePackageMapper.selectList(queryWrapper);
|
|
|
|
+ if (CollUtil.isEmpty(relatedPackages)) {
|
|
|
|
+ return R.ok(page);
|
|
|
|
+ }
|
|
|
|
+ // 积分包id列表
|
|
|
|
+ Set<String> packageIdSet = relatedPackages.stream().map(WmScorePackage::getId).collect(Collectors.toSet());
|
|
|
|
+
|
|
|
|
+ // 查询积分包下的企业任务
|
|
|
|
+ Page<WmTask> taskPage = wmTaskService.page(new Page<>(page.getCurrent(), page.getSize()), Wrappers.<WmTask>lambdaQuery()
|
|
|
|
+ .in(WmTask::getScorePackageId, packageIdSet));
|
|
|
|
+
|
|
|
|
+ if (CollUtil.isEmpty(taskPage.getRecords())) {
|
|
|
|
+ return R.ok(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 查询taskType
|
|
|
|
+ List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
|
|
+ .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
|
+ .eq(WmTaskType::getDelFlag, "0")
|
|
|
|
+ .eq(WmTaskType::getEnableFlag, "0"));
|
|
|
|
+ // taskType通过id分组(key为parentId,value为taskTypeName)
|
|
|
|
+ Map<String, String> taskTypeIdMap = taskTypeList.stream()
|
|
|
|
+ .collect(Collectors.toMap(WmTaskType::getId, WmTaskType::getTaskTypeName));
|
|
|
|
+
|
|
|
|
+ // 查询涉及到的user
|
|
|
|
+ Set<String> userIdSet = taskPage.getRecords().stream().map(WmTask::getTaskUserId).collect(Collectors.toSet());
|
|
|
|
+ List<SysUser> users = sysUserService.listByIds(userIdSet);
|
|
|
|
+ Map<Integer, String> userMap = users.stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getRealname));
|
|
|
|
+
|
|
|
|
+ List<WmTaskVO> vos = taskPage.getRecords().stream().map(wmTask -> {
|
|
|
|
+ WmTaskVO wmTaskVO = BeanUtil.copyProperties(wmTask, WmTaskVO.class);
|
|
|
|
+ // 任务类型名称
|
|
|
|
+ wmTaskVO.setTaskTypeName(taskTypeIdMap.getOrDefault(wmTaskVO.getTaskTypeId(), ""));
|
|
|
|
+ // 姓名
|
|
|
|
+ wmTaskVO.setTaskUsername(userMap.getOrDefault(Integer.parseInt(wmTaskVO.getTaskUserId()), ""));
|
|
|
|
+ // 报告审核状态
|
|
|
|
+ wmTaskVO.setApprovalOpinionName("");
|
|
|
|
+ if (StrUtil.isNotBlank(wmTask.getReportDrugApprovalOpinion())) {
|
|
|
|
+ if (ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportDrugApprovalOpinion())) {
|
|
|
|
+ wmTaskVO.setApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());
|
|
|
|
+ wmTaskVO.setApprovalOpinionName(ReportEnum.APPROVAL_OPINION_YES.getDescription());
|
|
|
|
+ } else if (ReportEnum.APPROVAL_OPINION_NO.getType().equals(wmTask.getReportDrugApprovalOpinion())) {
|
|
|
|
+ wmTaskVO.setApprovalOpinion(ReportEnum.APPROVAL_OPINION_NO.getType());
|
|
|
|
+ wmTaskVO.setApprovalOpinionName(ReportEnum.APPROVAL_OPINION_NO.getDescription());
|
|
|
|
+ }
|
|
|
|
+ } else if (StrUtil.isNotBlank(wmTask.getReportOneApprovalOpinion())) {
|
|
|
|
+ if (ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportOneApprovalOpinion())) {
|
|
|
|
+ wmTaskVO.setApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());
|
|
|
|
+ wmTaskVO.setApprovalOpinionName(ReportEnum.APPROVAL_OPINION_YES.getDescription());
|
|
|
|
+ } else if (ReportEnum.APPROVAL_OPINION_NO.getType().equals(wmTask.getReportOneApprovalOpinion())) {
|
|
|
|
+ wmTaskVO.setApprovalOpinion(ReportEnum.APPROVAL_OPINION_NO.getType());
|
|
|
|
+ wmTaskVO.setApprovalOpinionName(ReportEnum.APPROVAL_OPINION_NO.getDescription());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return wmTaskVO;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ page.setRecords(vos);
|
|
|
|
+ page.setTotal(taskPage.getTotal());
|
|
|
|
+ page.setPages(taskPage.getPages());
|
|
|
|
+
|
|
|
|
+ return R.ok(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 企业任务保存-企业通用
|
|
* 企业任务保存-企业通用
|
|
*
|
|
*
|
|
@@ -100,7 +207,7 @@ public class WmDeptTaskController {
|
|
@PostMapping("/dept-task/save-task-type63")
|
|
@PostMapping("/dept-task/save-task-type63")
|
|
public R<?> saveEntTaskForTaskType63(@Validated @RequestBody DeptTaskDTO.TaskType63 params) {
|
|
public R<?> saveEntTaskForTaskType63(@Validated @RequestBody DeptTaskDTO.TaskType63 params) {
|
|
log.info("企业任务保存-专家共识巡讲会请求参数:{}", params);
|
|
log.info("企业任务保存-专家共识巡讲会请求参数:{}", params);
|
|
- // TODO
|
|
|
|
- return null;
|
|
|
|
|
|
+
|
|
|
|
+ return R.ok(wmDeptTaskService.saveEntTaskForTaskType63(params));
|
|
}
|
|
}
|
|
}
|
|
}
|