|
@@ -1,12 +1,16 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDeptTaskTypeConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigDTO;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigJsonDTO;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskTypeConfigService;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
@@ -22,7 +26,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
|
/**
|
|
|
* 部门任务类型配置控制层
|
|
@@ -38,6 +44,8 @@ public class WmDeptTaskTypeConfigController {
|
|
|
|
|
|
private WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
|
|
|
|
|
|
+ private SysDeptRelationService sysDeptRelationService;
|
|
|
+
|
|
|
/**
|
|
|
* 保存任务类型配置
|
|
|
*
|
|
@@ -71,14 +79,41 @@ public class WmDeptTaskTypeConfigController {
|
|
|
public R<?> isConfig() {
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+ AtomicBoolean configed = new AtomicBoolean(false);
|
|
|
+ // 本级dept对应的任务类型
|
|
|
WmDeptTaskTypeConfig deptTaskTypeConfig = wmDeptTaskTypeConfigService.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
|
|
|
.eq(WmDeptTaskTypeConfig::getDeptId, deptId));
|
|
|
if (deptTaskTypeConfig != null) {
|
|
|
- resultMap.put("config", true);
|
|
|
- } else {
|
|
|
- resultMap.put("config", false);
|
|
|
+ List<WmDeptTaskTypeConfigJsonDTO> configJsonDTOList =
|
|
|
+ JSON.parseArray(deptTaskTypeConfig.getTaskTypeJson(), WmDeptTaskTypeConfigJsonDTO.class);
|
|
|
+ configJsonDTOList.forEach(configJsonDTO -> {
|
|
|
+ if (configJsonDTO.getQualifiedTask() || configJsonDTO.getZbdbStatusSelect() || configJsonDTO.getYydbStatusSelect()
|
|
|
+ || configJsonDTO.getAssociateLower()) {
|
|
|
+ configed.set(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
+ // 查询上级的deptId
|
|
|
+ SysDeptRelation ancestorDeptRelation = sysDeptRelationService.getOne(Wrappers.<SysDeptRelation>lambdaQuery()
|
|
|
+ .eq(SysDeptRelation::getDescendant, deptId)
|
|
|
+ .ne(SysDeptRelation::getAncestor, deptId)
|
|
|
+ .ne(SysDeptRelation::getAncestor, 1));
|
|
|
+ // 上级dept对应任务类型配置
|
|
|
+ if (ancestorDeptRelation != null) {
|
|
|
+ WmDeptTaskTypeConfig ancestorDeptTaskTypeConfig = wmDeptTaskTypeConfigService.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
|
|
|
+ .eq(WmDeptTaskTypeConfig::getDeptId, ancestorDeptRelation.getAncestor()));
|
|
|
+ if (ancestorDeptTaskTypeConfig != null) {
|
|
|
+ List<WmDeptTaskTypeConfigJsonDTO> ancestorConfigJsonDTOList =
|
|
|
+ JSON.parseArray(ancestorDeptTaskTypeConfig.getTaskTypeJson(), WmDeptTaskTypeConfigJsonDTO.class);
|
|
|
+ ancestorConfigJsonDTOList.forEach(configJsonDTO -> {
|
|
|
+ if (configJsonDTO.getQualifiedTask() || configJsonDTO.getZbdbStatusSelect() || configJsonDTO.getYydbStatusSelect()
|
|
|
+ || configJsonDTO.getAssociateLower()) {
|
|
|
+ configed.set(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resultMap.put("config", configed.get());
|
|
|
return R.ok(resultMap);
|
|
|
}
|
|
|
|