From 70a98b2b11b25c7a3b32c07cdc5043b60383220d Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 23 Sep 2021 16:59:12 +0800 Subject: [PATCH] 根据组织查设备,站点加入子组织 --- screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java | 14 ++++ screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 23 ++++++- screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 67 +++++++++------------ screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 10 ++ screen-manage/src/main/java/com/moral/api/service/OrganizationService.java | 26 +++++--- 5 files changed, 85 insertions(+), 55 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java index b0bb025..0a0e66c 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.Organization; import com.moral.api.entity.SpecialDevice; import com.moral.api.entity.SpecialDeviceHistory; import com.moral.api.mapper.HistorySecondCruiserMapper; @@ -28,6 +29,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -66,11 +68,15 @@ Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); Integer orgId = (Integer) orgInfo.get("id"); + //��������������������� + List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(orgId); QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>(); queryWrapper.select("mac", "name") - .eq("organization_id", orgId) .eq("special_type", Constants.SPECIAL_DEVICE_CRUISER) - .eq("is_delete", Constants.NOT_DELETE); + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); return specialDeviceHistoryService.listMaps(queryWrapper); } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java index f7636df..8a83c9b 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.Menu; import com.moral.api.entity.MonitorPoint; +import com.moral.api.entity.Organization; import com.moral.api.entity.SysArea; import com.moral.api.mapper.MonitorPointMapper; import com.moral.api.mapper.SysAreaMapper; +import com.moral.api.service.OrganizationService; import com.moral.api.service.SysAreaService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; @@ -39,12 +41,20 @@ @Autowired private MonitorPointMapper monitorPointMapper; + @Autowired + private OrganizationService organizationService; + @Override public List<Map<String, Object>> getMapPath(Integer orgId) { + //������������������������������ + List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(orgId); QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>(); queryWrapper.select("province_code", "city_code", "area_code") - .eq("organization_id", orgId) - .eq("is_delete", Constants.NOT_DELETE); + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); + //������������id������������������ List<MonitorPoint> monitorPoints = monitorPointMapper.selectList(queryWrapper); Set<Integer> cityCodes = new HashSet<>(); diff --git a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java index 4ae7d94..646358d 100644 --- a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java +++ b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java @@ -1,5 +1,7 @@ package com.moral.api.service; +import java.util.List; + import com.moral.api.entity.Organization; import com.baomidou.mybatisplus.extension.service.IService; import com.moral.api.pojo.dto.organization.OrganizationDTO; @@ -53,15 +55,21 @@ OrganizationQueryDTO queryOrganization(OrganizationQueryForm organizationQueryForm); + /** + * @Description: ������������������������ + * @Param: [form] + * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO + * @Author: ��������� + * @Date: 2021/5/6 + */ + OrganizationQueryNamesDTO queryNames(OrganizationQueryNamesForm form); /** - * @Description: ������������������������ - * @Param: [form] - * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO - * @Author: ��������� - * @Date: 2021/5/6 - */ - OrganizationQueryNamesDTO queryNames(OrganizationQueryNamesForm form); - - + * @Description: ������������������������������������ + * @Param: [] + * @return: java.util.List<com.moral.api.entity.Organization> + * @Author: ��������� + * @Date: 2021/4/14 + */ + List<Organization> getAllChildrenOrganization(Integer parentId); } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 8d26374..64eee36 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -12,6 +12,7 @@ import com.moral.api.service.DeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.OrganizationService; import com.moral.api.service.SysDictDataService; import com.moral.api.util.CacheUtils; import com.moral.api.util.AdjustDataUtils; @@ -39,6 +40,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; @@ -92,6 +94,9 @@ @Autowired private AdjustDataUtils adjustDataUtils; + + @Autowired + private OrganizationService organizationService; /* * ���redis������������������ @@ -242,8 +247,14 @@ @Override public List<Map<String, Object>> selectMonitorsByOrgId(Integer orgId) { + //��������������������� + List<Organization> organizations = organizationService.getAllChildrenOrganization(orgId); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(orgId); QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id", "name").eq("organization_id", orgId).eq("is_delete", Constants.NOT_DELETE); + queryWrapper.select("id", "name") + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); return monitorPointMapper.selectMaps(queryWrapper); } @@ -269,9 +280,13 @@ Object orgId = parameters.get("organizationId"); Object mpId = parameters.get("monitorPointId"); - //������������������������������ + //������������������������������,��������������� if (orgId != null) { - queryWrapper.eq("organization_id", orgId); + //��������������������� + List<Organization> organizations = organizationService.getAllChildrenOrganization(Integer.parseInt(orgId.toString())); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(Integer.parseInt(orgId.toString())); + queryWrapper.in("organization_id", orgIds); } //������������������������������ @@ -445,7 +460,7 @@ Map<String, Object> govMpInfo = (Map<String, Object>) deviceInfo.get("govMonitorPoint"); Map<String, Object> aqiMap = null; if (govMpInfo.get("guid") != null) { - aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString()); + aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString()); } return adjustDataUtils.adjust(deviceData, adjustFormula, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java index e351875..257401d 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java @@ -1,7 +1,5 @@ package com.moral.api.service.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,7 +7,6 @@ import com.moral.api.entity.MonitorPoint; import com.moral.api.entity.Organization; import com.moral.api.entity.User; -import com.moral.api.mapper.MonitorPointMapper; import com.moral.api.mapper.OrganizationMapper; import com.moral.api.mapper.UserMapper; import com.moral.api.pojo.dto.organization.OrganizationDTO; @@ -27,17 +24,12 @@ import com.moral.pojo.CompareFieldResult; import com.moral.util.ConvertUtils; import com.moral.util.DateUtils; + import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletRequest; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; import java.util.function.Predicate; @@ -143,11 +135,10 @@ organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); //������������������ - updateLog(oldOrganization,organization); + updateLog(oldOrganization, organization); return organizationDTO; } - /** @@ -166,7 +157,7 @@ //������������������������������ List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByOrganizationId(id); - if(!ObjectUtils.isEmpty(monitorPoints)){ + if (!ObjectUtils.isEmpty(monitorPoints)) { dto.setCode(ResponseCodeEnum.ORGANIZATION_EXIST_MONITORPOINT.getCode()); dto.setMsg(ResponseCodeEnum.ORGANIZATION_EXIST_MONITORPOINT.getMsg()); return dto; @@ -199,7 +190,7 @@ //��������������������������������������������������������������������������������� for (Integer childId : childrenId) { List<MonitorPoint> childMonitorPoints = monitorPointService.getMonitorPointsByOrganizationId(childId); - if(!ObjectUtils.isEmpty(childMonitorPoints)){ + if (!ObjectUtils.isEmpty(childMonitorPoints)) { dto.setCode(ResponseCodeEnum.CHILDREN_ORGANIZATION_EXIST_MONITORPOINT.getCode()); dto.setMsg(ResponseCodeEnum.CHILDREN_ORGANIZATION_EXIST_MONITORPOINT.getMsg()); return dto; @@ -210,7 +201,7 @@ updateWrapper.set("is_delete", Constants.DELETE); organizationMapper.update(null, updateWrapper); //��������������������������� - childrenId.forEach(value->userService.deleteUsersByOrganizationId(value)); + childrenId.forEach(value -> userService.deleteUsersByOrganizationId(value)); } else {//��������� //���������������������������id @@ -344,13 +335,13 @@ } /** - * @Description: ������form���id��������������������������������� - * ������id������������������������id������id������������������������������������ - * @Param: [from] - * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO - * @Author: ��������� - * @Date: 2021/5/7 - */ + * @Description: ������form���id��������������������������������� + * ������id������������������������id������id������������������������������������ + * @Param: [from] + * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO + * @Author: ��������� + * @Date: 2021/5/7 + */ @Override public OrganizationQueryNamesDTO queryNames(OrganizationQueryNamesForm form) { OrganizationQueryNamesDTO dto = new OrganizationQueryNamesDTO(); @@ -362,7 +353,7 @@ //������������������ List<Organization> organizations = organizationMapper.selectList(queryWrapper); //������form������������id,��������������������������������������������� - if(!ObjectUtils.isEmpty(id)){ + if (!ObjectUtils.isEmpty(id)) { List<Organization> children = getAllChildrenOrganization(id); List<Integer> thisAndchildrenIds = new ArrayList<>();//���id���������������������������id������ thisAndchildrenIds.add(id); @@ -372,7 +363,7 @@ organizations.removeIf(new Predicate<Organization>() {//������ @Override public boolean test(Organization organization) { - if(thisAndchildrenIds.contains(organization.getId())) + if (thisAndchildrenIds.contains(organization.getId())) return true; return false; } @@ -393,7 +384,8 @@ * @Author: ��������� * @Date: 2021/4/14 */ - private List<Organization> getAllChildrenOrganization(Integer parentId) { + @Override + public List<Organization> getAllChildrenOrganization(Integer parentId) { List<Organization> children = new ArrayList<>(); recursionQueryChildren(parentId, children); return children; @@ -422,23 +414,23 @@ } /** - * @Description: ������������������������ - * @Param: [organization] - * @return: void - * @Author: ��������� - * @Date: 2021/8/25 - */ - private void insertLog(Organization organization){ + * @Description: ������������������������ + * @Param: [organization] + * @return: void + * @Author: ��������� + * @Date: 2021/8/25 + */ + private void insertLog(Organization organization) { StringBuilder content = new StringBuilder(); content.append("������������������").append(organization.getName() + ";"); logUtils.saveOperationForManage(content.toString(), Constants.INSERT_OPERATE_TYPE); } - public void updateLog(Organization oldOrganization,Organization newOrganization){ + public void updateLog(Organization oldOrganization, Organization newOrganization) { List<CompareFieldResult> results = CompareFieldUtils.compare(Organization.class, oldOrganization, newOrganization); for (CompareFieldResult result : results) { //��������������������������� - if(result.getFieldName().equals("parentId")){ + if (result.getFieldName().equals("parentId")) { //���������id��������������� String oldData = result.getOldData(); String newData = result.getNewData(); @@ -459,17 +451,17 @@ } //������������������������ - if(result.getFieldName().equals("expireTime")){ + if (result.getFieldName().equals("expireTime")) { //DateToString���������������������yyyy-MM-dd String oldData = result.getOldData(); String newData = result.getNewData(); - if(oldData!=null){ + if (oldData != null) { Date oldDate = DateUtils.dateStringToDate(oldData); oldData = DateUtils.dateToDateString(oldDate, "yyyy-MM-dd"); } - if(newData!=null){ + if (newData != null) { Date newDate = DateUtils.dateStringToDate(newData); newData = DateUtils.dateToDateString(newDate, "yyyy-MM-dd"); } @@ -480,9 +472,8 @@ } } - String content = CompareFieldUtils.resultsConvertContent(results, "���������������;���������������"+oldOrganization.getName()); + String content = CompareFieldUtils.resultsConvertContent(results, "���������������;���������������" + oldOrganization.getName()); logUtils.saveOperationForManage(content, Constants.UPDATE_OPERATE_TYPE); } - } -- Gitblit v1.8.0