Ver Fonte

之前记录跟着第一次被关联的建筑绑定

linjiawei há 2 meses atrás
pai
commit
0666a58378

+ 25 - 9
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/other/EnforceObjArchitectureRelateServiceImpl.java

@@ -3,6 +3,7 @@ package com.zfjg.manage.service.impl.other;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zfjg.common.core.web.page.TableInfo;
@@ -20,6 +21,7 @@ import com.zfjg.manage.api.search.other.EnforceObjArchitectureRelateQuery;
 import com.zfjg.manage.api.vo.other.ArchitectureVO;
 import com.zfjg.manage.mapper.other.EnforceObjArchitectureRelateMapper;
 import com.zfjg.manage.mapper.sys.DeptMapper;
+import com.zfjg.manage.service.device.IDeviceService;
 import com.zfjg.manage.service.other.IEnforceObjArchitectureRelateHisService;
 import com.zfjg.manage.service.other.IEnforceObjArchitectureRelateService;
 import com.zfjg.system.api.domain.SysDept;
@@ -54,7 +56,7 @@ public class EnforceObjArchitectureRelateServiceImpl extends ServiceImpl<Enforce
     @Autowired
     private  EnforceObjArchitectureRelateMapper enforceObjArchitectureRelateMapper;
     @Autowired
-    private  DeptMapper deptMapper;
+    private DeptMapper deptMapper;
 
     @Override
     public boolean insertEnforceObjArchitectureRelate(EnforceObjArchitectureRelateAdd add) {
@@ -115,14 +117,19 @@ public class EnforceObjArchitectureRelateServiceImpl extends ServiceImpl<Enforce
     public List<EnforceObjCheckDTO> getEnforceObjList(EnforceObjArchitectureRelateQuery query) {
         List<EnforceObjCheckDTO> list = new ArrayList<>();
         String orgId = SecurityUtils.getOrgId();
-        SysDept userLoginDept = Optional.ofNullable(deptMapper.selectOne(Wrappers.<SysDept>lambdaQuery()
-                .eq(SysDept::getEnforceOrgId, orgId)
-        )).orElse(new SysDept());
-        if (StrUtil.isBlank(userLoginDept.getRegionCode())) return list;
-
-        //非建筑所属辖区或非总队无权限查看
-        if (!Objects.equals(query.getRegionId(), userLoginDept.getRegionCode() + "000000") && !Objects.equals(0L, userLoginDept.getParentId())) {
-            return list;
+        List<SysDept> sysDepts = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                .select(SysDept::getRegionCode,SysDept::getParentId)
+                .eq(SysDept::getEnforceOrgId, orgId));
+        if (CollectionUtils.isNotEmpty(sysDepts)) {
+            List<String> regionIds = sysDepts.stream().map(SysDept::getRegionCode).collect(Collectors.toList());
+            List<String> updatedRegionIds = regionIds.stream()
+                    .map(regionId -> regionId + "000000")
+                    .collect(Collectors.toList());
+            List<Long> parentIds = sysDepts.stream().map(SysDept::getParentId).collect(Collectors.toList());
+            //非建筑所属辖区或非总队无权限查看
+            if (!updatedRegionIds.contains(query.getRegionId()) && parentIds.contains(0L)) {
+                return list;
+            }
         }
 
         List<String> enforceObjIds = enforceObjArchitectureRelateMapper.getEnforceObjIds(query);
@@ -144,6 +151,15 @@ public class EnforceObjArchitectureRelateServiceImpl extends ServiceImpl<Enforce
                             } else {
                                 List<EnforceObjChangeArchitectureDTO> changeList = hisMap.get(enforceObjId);
                                 if (CollectionUtils.isNotEmpty(changeList)) {
+                                    //之前记录跟着第一次被关联的建筑绑定
+                                    EnforceObjChangeArchitectureDTO changeDto = changeList.get(0);
+                                if (StringUtils.isNotEmpty(changeDto.getBeforeArchitectureUuid())) {
+                                    jobList.forEach(job->{
+                                        if (changeDto.getCreateTime().compareTo(job.getCreateTime()) > 0) {
+                                            chekckIdsList.add(String.valueOf(job.getEnforceJobId()));
+                                        }
+                                    });
+                                }
                                 int changeListSize = changeList.size();
                                 if (changeListSize % 2 == 0) {//偶数
                                     for (int i = 0; i < changeListSize; i++) {