From 0920f23406e52e4c7149515797a317c836c9e065 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 10 Nov 2023 09:18:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into cjl

---
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java |   62 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 15 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
index ff45f61..727e797 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -25,6 +25,7 @@
 import com.moral.api.pojo.query.app.AppAllocationPageCond;
 import com.moral.api.pojo.vo.allocation.AllocationFindVo;
 import com.moral.api.pojo.vo.app.AppAllocationFindVo;
+import com.moral.api.pojo.vo.app.AppAuthority;
 import com.moral.api.pojo.vo.user.QxUser;
 import com.moral.api.service.*;
 import com.moral.constant.Constants;
@@ -845,30 +846,61 @@
     }
 
     @Override
-    public boolean authority(String allocationNum,Integer userId) {
+    public AppAuthority authority(String allocationNum,Integer userId) {
+        //������������
+        AppAuthority appAuthority = new AppAuthority();
         //������������������
         QxUser user = UserHelper.getCurrentUser();
+        //���������������������
+        LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Allocation::getAllocationNum,allocationNum);
+        wrapper.eq(Allocation::getIsDel,0);
+        wrapper.eq(Allocation::getIsInvalid,0);
+        Allocation allocation = allocationMapper.selectOne(wrapper);
+
         List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
         if(CollectionUtils.isNotEmpty(userList)){
-            return true;
+            //���������������������
+            appAuthority.setCode(1);
+            appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
+            return appAuthority;
         }
         if(Objects.nonNull(user.getUnitId())&&user.getUnitId()!=0){
-            LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(Allocation::getAllocationNum,allocationNum);
-            wrapper.eq(Allocation::getIsDel,0);
-            wrapper.eq(Allocation::getIsInvalid,0);
-            Allocation allocation = allocationMapper.selectOne(wrapper);
-            if (allocation.getUnitId().equals(user.getUnitId())){
-                return true;
-            }
             String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
-            if (code.length() > 6) {
-                return false;
-            } else {
-                return true;
+            if (code.length() > 6 && allocation.getUnitId().equals(user.getUnitId())) {
+                if (allocation.getState().equals(AllocationApproveEnum.UNDER_RECTIFICATION.value)){
+                    appAuthority.setCode(1);
+                    appAuthority.setName(AppAllocationStateEnum.TO_BE_PROCESSED.name);
+                    return appAuthority;
+                }else if (allocation.getState().equals(AllocationApproveEnum.IN_APPROVAL.value)){
+                    appAuthority.setCode(2);
+                    appAuthority.setName(AppAllocationStateEnum.TO_BE_COMPLETED.name);
+                    return appAuthority;
+                }else {
+                    appAuthority.setCode(1);
+                    appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
+                    return appAuthority;
+                }
+            } else if (code.length() <= 6){
+                if (allocation.getState().equals(AllocationApproveEnum.IN_APPROVAL.value)){
+                    appAuthority.setCode(1);
+                    appAuthority.setName(AppAllocationStateEnum.TO_BE_PROCESSED.name);
+                    return appAuthority;
+                }else if (allocation.getState().equals(AllocationApproveEnum.UNDER_RECTIFICATION.value)){
+                    appAuthority.setCode(2);
+                    appAuthority.setName(AppAllocationStateEnum.TO_BE_COMPLETED.name);
+                    return appAuthority;
+                }else {
+                    appAuthority.setCode(1);
+                    appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
+                    return appAuthority;
+                }
             }
         }
-        return false;
+        //���������������������
+        appAuthority.setCode(3);
+        appAuthority.setName("������������");
+        return appAuthority;
     }
 
     @Override

--
Gitblit v1.8.0