|
@@ -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++) {
|