From b2f2adab687a8d5d49fcc479f4857ec303e4b9f0 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 15 Mar 2022 10:35:08 +0800
Subject: [PATCH] screen-api                 判断优良天非空

---
 screen-api/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
index f89f009..01778df 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
@@ -1,10 +1,24 @@
 package com.moral.api.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.Organization;
 import com.moral.api.entity.ServicesScope;
+import com.moral.api.mapper.OrganizationMapper;
 import com.moral.api.mapper.ServicesScopeMapper;
+import com.moral.api.service.OrganizationService;
 import com.moral.api.service.ServicesScopeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.util.RegionCodeUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +31,98 @@
 @Service
 public class ServicesScopeServiceImpl extends ServiceImpl<ServicesScopeMapper, ServicesScope> implements ServicesScopeService {
 
+    @Autowired
+    private OrganizationMapper organizationMapper;
+
+    @Autowired
+    private ServicesScopeMapper servicesScopeMapper;
+
+    @Autowired
+    private OrganizationService organizationService;
+
+    @Override
+    public List<Map<String, Object>> getDateByOrgIdAndCondition(Map map) {
+        int orgId = Integer.parseInt(map.get("organization_id").toString());
+        //���������������������������������id
+        List<Integer> allOrgId = new ArrayList<>();
+        allOrgId.add(orgId);
+        //������������
+        //���������������
+        List<Organization> allChildrenOrganization = organizationService.getChildrenOrganizationsById(orgId);
+        if (!ObjectUtils.isEmpty(allChildrenOrganization) || allChildrenOrganization.size() < 1){
+            for (Organization organization:allChildrenOrganization) {
+                allOrgId.add(organization.getId());
+            }
+        }
+        //������������
+        List<Integer> allOrgIdWithoutDuplicates = allOrgId.stream().distinct().collect(Collectors.toList());
+        List<Map<String,Object>> resultList = new ArrayList<>();
+        for (int organizationId:allOrgIdWithoutDuplicates) {
+            Map<String,Object> resultMap = new HashMap<>();
+            QueryWrapper<Organization> organizationQueryWrapper = new QueryWrapper<>();
+            organizationQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            organizationQueryWrapper.eq("id",organizationId);
+            if (!ObjectUtils.isEmpty(map.get("regionCode"))){
+                String region = RegionCodeUtils.regionCodeConvertToName(Integer.parseInt(map.get("regionCode").toString()));
+                organizationQueryWrapper.eq(region,Integer.parseInt(map.get("regionCode").toString()));
+            }
+            Organization organization = new Organization();
+            organization = organizationMapper.selectOne(organizationQueryWrapper);
+            if (ObjectUtils.isEmpty(organization)){
+                continue;
+            }
+            resultMap.put("id",organization.getId());
+            resultMap.put("name",organization.getName());
+            QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>();
+            servicesScopeQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            servicesScopeQueryWrapper.eq("organization_id",organizationId);
+            if (!ObjectUtils.isEmpty(map.get("name"))){
+                servicesScopeQueryWrapper.like("name",map.get("name").toString());
+            }
+            List<ServicesScope> servicesScopes = new ArrayList<>();
+            servicesScopes = servicesScopeMapper.selectList(servicesScopeQueryWrapper);
+            if (servicesScopes.size()<1){
+                continue;
+            }
+            List<Map<String,Object>> servicesScopeList= new ArrayList<>();
+            for (ServicesScope servicesScope:servicesScopes) {
+                Map<String,Object> servicesScopeMap = new HashMap<>();
+                servicesScopeMap.put("id",servicesScope.getId());
+                servicesScopeMap.put("name",servicesScope.getName());
+                servicesScopeMap.put("organizationId",servicesScope.getOrganizationId());
+                servicesScopeMap.put("centerLongitude",servicesScope.getCenterLongitude());
+                servicesScopeMap.put("centerLatitude",servicesScope.getCenterLatitude());
+                servicesScopeList.add(servicesScopeMap);
+            }
+            resultMap.put("servicesScopes",servicesScopeList);
+            resultList.add(resultMap);
+        }
+        if (resultList.size()<1){
+            return null;
+        }
+        return resultList;
+    }
+
+    /*private OrganizationServicesScopeVO treeStructure(int orgId){
+        OrganizationServicesScopeVO organizationServicesScopeVO = new OrganizationServicesScopeVO();
+        Organization organization = organizationMapper.selectById(orgId);
+        organizationServicesScopeVO.setOrganization(organization);
+        QueryWrapper<Organization> chileOrganizationQueryWrapper = new QueryWrapper<>();
+        chileOrganizationQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
+        chileOrganizationQueryWrapper.eq("parent_id",orgId);
+        List<Organization> childOrganizations = new ArrayList<>();
+        childOrganizations = organizationMapper.selectList(chileOrganizationQueryWrapper);
+        if (childOrganizations.size()>0){
+            List<OrganizationServicesScopeVO> organizationServicesScopeVOS = new ArrayList<>();
+            for (Organization childOrganization:childOrganizations) {
+                OrganizationServicesScopeVO organizationServicesScopeVO1 = treeStructure(childOrganization.getId());
+                if (ObjectUtils.isEmpty(organizationServicesScopeVO1)){
+                    organizationServicesScopeVOS.add(organizationServicesScopeVO1);
+                }
+            }
+            organizationServicesScopeVO.setOrganizationServicesScopeVOS(organizationServicesScopeVOS);
+        }
+        //servicesScopeMapper.selectList()
+        return null;
+    }*/
 }

--
Gitblit v1.8.0