From e94e5dbbfc544c558a09fb388e7f4d4341fe8ec4 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Thu, 28 Sep 2023 16:59:01 +0800
Subject: [PATCH] ci:添加自有权限

---
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 13 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 3c0806f..d58c404 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
@@ -68,6 +68,7 @@
 @Slf4j
 public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocation> implements AllocationService {
 
+    private final Integer NEW_BUILT = 10;
     @Autowired
     private SysDictTypeMapper sysDictTypeMapper;
     @Autowired
@@ -104,6 +105,27 @@
         return sysDictDataMapper.selectMaps(dataQueryWrapper);
     }
 
+    /**
+     * ������������������
+     * @return
+     */
+    @Override
+    public List<ResponsibilityUnit> seleteUnit() {
+        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
+        wrapper.select("unit_name","unit_id");
+        wrapper.eq("is_del",Constants.NOT_DELETE);
+        wrapper.eq("state",0);
+        wrapper.eq("is_invalid",0);
+
+        //������������������
+        List<Integer> unitList = unitResult();
+        if (CollectionUtils.isNotEmpty(unitList)){
+            wrapper.in("unit_id",unitList);
+        }
+        List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper);
+        return responsibilityUnits;
+    }
+
 
     /**
      * ���������������
@@ -124,19 +146,19 @@
         if(Objects.nonNull(allocationCond.getEscalationUnitId())&&allocationCond.getEscalationUnitId().toString().length()==6) {
             allocation.setEscalationType(AllocationEscalationTypeEnum.CHECK.getValue());
         }
-        if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationCond.getState())) {
+        if(NEW_BUILT.equals(allocationCond.getState())) {
             allocation.setState(AllocationApproveEnum.UNDER_RECTIFICATION.value);
         }
         //������������������
         allocationMapper.insert(allocation);
         redisTemplate.opsForValue().set(RedisConstants.JBD_DATA,i);
-        if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationCond.getState())) {
+        if(NEW_BUILT.equals(allocationCond.getState())) {
             //������������������
             ApproveTable approveTable = new ApproveTable();
             approveTable.setRelationId(allocation.getAllocationId());
-            approveTable.setState(AllocationApproveEnum.NEW_BUILT.value);
+            approveTable.setState(NEW_BUILT);
             approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value);
-            approveTable.setStateName(AllocationApproveEnum.NEW_BUILT.name);
+            approveTable.setStateName("������");
             approveTableService.saveResult(approveTable);
         }
         fileTableService.upDateResult(allocationCond.getFileBaseList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value);
@@ -160,16 +182,16 @@
         if(Objects.nonNull(allocationUpdateCond.getEscalationUnitId())&&allocationUpdateCond.getEscalationUnitId().toString().length()==6) {
             allocation.setEscalationType(AllocationEscalationTypeEnum.CHECK.getValue());
         }
-        if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationUpdateCond.getState())) {
+        if(NEW_BUILT.equals(allocationUpdateCond.getState())) {
             //������������������
             ApproveTable approveTable = new ApproveTable();
             approveTable.setRelationId(allocation.getAllocationId());
-            approveTable.setState(AllocationApproveEnum.NEW_BUILT.value);
+            approveTable.setState(NEW_BUILT);
             approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value);
-            approveTable.setStateName(AllocationApproveEnum.NEW_BUILT.name);
+            approveTable.setStateName("������");
             approveTableService.saveResult(approveTable);
         }
-        if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationUpdateCond.getState())) {
+        if(NEW_BUILT.equals(allocationUpdateCond.getState())) {
             allocation.setState(AllocationApproveEnum.UNDER_RECTIFICATION.value);
         }
         fileTableService.upDateResult(allocationUpdateCond.getFileBaseList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value);
@@ -249,7 +271,7 @@
             String state = allocation.getState()+"";
             if (state.equals("40")||state.equals("50")){
                  complete++;
-            }else if(state.equals("10")||state.equals("20") ||state.equals("30")) {
+            }else  {
                  unComplete++;
             }
         }
@@ -306,7 +328,7 @@
                     Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay());
                     Date date = new Date();
                     boolean timeBefor = DateUtils.isTimeBefor(date, dateOfDay);
-                    if (timeBefor && !state.equals("40") && !state.equals("50")){
+                    if (timeBefor && !state.equals("40") && !state.equals("50") && !state.equals("9")){
                         //������������
                         overdue++;
                     }
@@ -335,9 +357,9 @@
         rsMap.put("unitView",allocationUnitViewDtos);
         //������
         rsMap.put("total",allocations.size());
-        //���������
+        //���������
         rsMap.put("complete",complete);
-        //������������
+        //���������
         rsMap.put("unComplete",unComplete);
         //������
         rsMap.put("overdue",overdue);
@@ -450,8 +472,19 @@
     @Override
     public Page<AllocationPageExt> extPage(AllocationPageCond allocationPageCond) {
         List<Integer> unitList = unitResult();
+        Integer codeId =  unitAreaCode();
         allocationPageCond.setUnitList(unitList);
-        return this.baseMapper.extPage(allocationPageCond.getPage().convertPage(), allocationPageCond);
+        Page<AllocationPageExt> page =  this.baseMapper.extPage(allocationPageCond.getPage().convertPage(), allocationPageCond);
+        if(CollectionUtils.isNotEmpty(page.getRecords())){
+            page.getRecords().forEach(it->{
+                if((CollectionUtils.isEmpty(unitList)&&codeId.equals(1))||codeId.equals(2)){
+                    it.setIsApprove(1);
+                }else {
+                    it.setIsApprove(0);
+                }
+            });
+        }
+        return page;
     }
 
     @Override
@@ -588,4 +621,22 @@
         }
         return Arrays.asList(0);
     }
+
+    @Override
+    public Integer unitAreaCode() {
+        QxUser user = UserHelper.getCurrentUser();
+        List<Integer> userList = responsibilityUnitMapper.selectCodeList("JBD",user.getUserId());
+        if(CollectionUtils.isNotEmpty(userList)){
+            return 1;
+        }
+        if(Objects.nonNull(user.getUnitId())){
+            String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
+            if(code.length()>6){
+                return 0;
+            }else {
+                return 2;
+            }
+        }
+        return 1;
+    }
 }

--
Gitblit v1.8.0