ソースを参照

fix: secondary cso rule list

shc 10 ヶ月 前
コミット
0be256488c

+ 31 - 24
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmTaskDTO;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmRelation;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskTypeEntRef;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskTypeTree;
@@ -20,6 +21,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
 import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskTypeConfigService;
+import com.qunzhixinxi.hnqz.admin.service.WmRelationService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeEntRefService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCate2Service;
@@ -73,6 +75,7 @@ public class WmTaskTypeController {
     private final WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
     private final WmTaskTypeSubCate2Service wmTaskTypeSubCate2Service;
     private final WmTaskMapper wmTaskMapper;
+    private final WmRelationService relationService;
 
     /**
      * 任务类型列表
@@ -146,36 +149,40 @@ public class WmTaskTypeController {
                         "临床监察", "通用", "患者教育");
 
 
-        if ("3".equals(wmTaskType.getStatus())){
+        // 二级代理(查询一级cso)
+        Integer upId = null;
+        if ("3".equals(wmTaskType.getStatus())) {
             HnqzUser user = SecurityUtils.getUser();
-            WmDaAgent one = wmDaAgentService.getOne(Wrappers.<WmDaAgent>lambdaQuery().eq(WmDaAgent::getDeptId, user.getDeptId()));
+            // WmDaAgent one = wmDaAgentService.getOne(Wrappers.<WmDaAgent>lambdaQuery().eq(WmDaAgent::getDeptId, user.getDeptId()));
 
-            if (one != null){
-                String ruleId = one.getExtDrugEnt();
-                if (StrUtil.isNotBlank(ruleId)){
-                    wmTaskType.setRuleId(ruleId);
-                }
+            // if (one != null){
+            //     String ruleId = one.getExtDrugEnt();
+            //     if (StrUtil.isNotBlank(ruleId)){
+            //         wmTaskType.setRuleId(ruleId);
+            //     }
+            // }
+
+            List<WmRelation> list = relationService.list(Wrappers.<WmRelation>lambdaQuery().eq(WmRelation::getDownId, user.getDeptId()));
+
+            if (CollUtil.isNotEmpty(list)) {
+                WmRelation wmRelation = list.get(0);
+                upId = wmRelation.getUpId();
+            } else {
+                return R.failed("区域积分规则未设置");
             }
 
-        }
 
+        }
 
         LambdaQueryWrapper<WmTaskType> queryWrapper = Wrappers.<WmTaskType>lambdaQuery()
+                .eq(StrUtil.isNotBlank(wmTaskType.getTaskTypeLevel()), WmTaskType::getTaskTypeLevel, wmTaskType.getTaskTypeLevel())
+                .eq(wmTaskType.getRuleId() != null, WmTaskType::getRuleId, wmTaskType.getRuleId())
+                .eq(StrUtil.isNotBlank(wmTaskType.getTaskTypeName()), WmTaskType::getTaskTypeName, wmTaskType.getTaskTypeName())
+                .eq(StrUtil.isNotBlank(wmTaskType.getEnableFlag()), WmTaskType::getEnableFlag, wmTaskType.getEnableFlag())
+                .eq(upId != null, WmTaskType::getDeptId, upId)
+                .eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .notIn(WmTaskType::getTaskTypeName, noDisplayTaskTypeNameList);
 
-        if (StrUtil.isNotBlank(wmTaskType.getTaskTypeLevel())) {
-            queryWrapper.eq(WmTaskType::getTaskTypeLevel, wmTaskType.getTaskTypeLevel());
-        }
-        if (wmTaskType.getRuleId() != null) {
-            queryWrapper.eq(WmTaskType::getRuleId, wmTaskType.getRuleId());
-        }
-        if (StrUtil.isNotBlank(wmTaskType.getTaskTypeName())) {
-            queryWrapper.eq(WmTaskType::getTaskTypeName, wmTaskType.getTaskTypeName());
-        }
-        if (StrUtil.isNotBlank(wmTaskType.getEnableFlag())) {
-            queryWrapper.eq(WmTaskType::getEnableFlag, wmTaskType.getEnableFlag());
-        }
-        queryWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 
         Page<WmTaskType> pageResult = wmTaskTypeService.page(page, queryWrapper);
         Page<WmTaskTypeVO> voPage = new Page<>(pageResult.getCurrent(), pageResult.getSize(), pageResult.getTotal());
@@ -204,7 +211,7 @@ public class WmTaskTypeController {
         List<WmTaskTypeEntRef> wmTaskTypeEntRefList = wmTaskTypeEntRefService.selectByAgentId(wmTaskType.getLevel1Id());
         if (CollUtil.isNotEmpty(wmTaskTypeEntRefList)) {
             for (WmTaskTypeEntRef wmTaskTypeEntRef1 : wmTaskTypeEntRefList) {
-                //cso新增   药企id空   AgentId 有
+                // cso新增   药企id空   AgentId 有
                 if (null != wmTaskTypeEntRef1.getAgentId() && null != wmTaskTypeEntRef1.getDrugentId()) {
                     wmTaskType.setLevel1Id(wmTaskTypeEntRef1.getAgentId());
                     List<WmTaskType> wmTaskTypeList = wmTaskTypeService.selectByRuleId(wmTaskType);
@@ -214,10 +221,10 @@ public class WmTaskTypeController {
                             wmTaskType.setRuleId(wmTaskType1.getRuleId());
                         }
                     }
-                    //药企新增  两个都是药企id
+                    // 药企新增  两个都是药企id
                 } else if (wmTaskTypeEntRef1.getAgentId().equals(wmTaskTypeEntRef1.getDrugentId())) {
                     wmTaskType.setRuleId(wmTaskTypeEntRef1.getAgentId().toString());
-                    //药企给cso新增   两个都有值  药企和cso
+                    // 药企给cso新增   两个都有值  药企和cso
                 } else if (null != wmTaskTypeEntRef1.getAgentId() && null != wmTaskTypeEntRef1.getDrugentId()) {
                     wmTaskType.setRuleId("" + wmTaskTypeEntRef1.getDrugentId() + wmTaskTypeEntRef1.getAgentId());
                     List<WmTaskType> wmTaskTypeList = wmTaskTypeService.selectByRuleId(wmTaskType);