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