From d4d5205a7d954117a9e70426534b7b1d95f0edd5 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 17 Feb 2022 14:03:21 +0800 Subject: [PATCH] 督办单查询根据地区显示 --- screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java | 75 +++++++++++++++++++++++++++++-------- 1 files changed, 59 insertions(+), 16 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java index e38adbc..92d2d94 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java @@ -2,8 +2,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.MonitorPoint; +import com.moral.api.entity.Organization; import com.moral.api.entity.Supervision; import com.moral.api.mapper.SupervisionMapper; +import com.moral.api.service.MonitorPointService; +import com.moral.api.service.OrganizationService; import com.moral.api.service.SupervisionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -15,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; @@ -43,12 +48,19 @@ @Autowired private SupervisionMapper supervisionMapper; + @Autowired + private OrganizationService organizationService; + + @Autowired + private MonitorPointService monitorPointService; + @Override + @Transactional public Map<String, Object> add(MultipartFile[] files, Supervision supervision) { //������jar��������������� - ApplicationHome h = new ApplicationHome(getClass()); + ApplicationHome applicationHome = new ApplicationHome(getClass()); //���jar������������������������������upload������������������������������������ - String path = h.getSource().getParentFile().toString() + "/static/img"; + String path = applicationHome.getSource().getParentFile().toString() + "/static/img"; Map<String, Object> result = new HashMap<>(); @@ -88,30 +100,58 @@ @Override public Map<String, Object> selectSupervisions(Map<String, Object> params) { //������������������ - int cityCode = Integer.parseInt(params.get("cityCode").toString()); int page = Integer.parseInt(params.get("page").toString()); int size = Integer.parseInt(params.get("size").toString()); Object start = params.get("start"); Object end = params.get("end"); - QueryWrapper<Supervision> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("city_code", cityCode) - .eq("is_delete", Constants.NOT_DELETE); + + QueryWrapper<Supervision> supervisionQueryWrapper = new QueryWrapper<>(); + supervisionQueryWrapper.eq("is_delete", Constants.NOT_DELETE); + if (params.get("organizationId") != null) { + Integer orgId = Integer.parseInt(params.get("organizationId").toString()); + //������������������������������ + 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("city_code") + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); + + //������������id������������������������code + List<Object> cityCodes = monitorPointService.listObjs(queryWrapper); + + cityCodes = cityCodes.stream() + .distinct() + .collect(Collectors.toList()); + + supervisionQueryWrapper.in("CONCAT(LEFT(city_code,4),'00')", cityCodes); + } else { + String cityCode = params.get("cityCode").toString(); + //��������������������������������������������������������������������������������������� + if (cityCode.endsWith("00")) { + supervisionQueryWrapper.eq("CONCAT(LEFT(city_code,4),'00')", cityCode); + } else { + supervisionQueryWrapper.eq("city_code", cityCode); + } + } + + if (start != null) { - queryWrapper.ge("time", start); + supervisionQueryWrapper.ge("time", start); } if (start != null) { - queryWrapper.le("time", end); + supervisionQueryWrapper.le("time", end); } //���time������ - queryWrapper.orderByDesc("time"); + supervisionQueryWrapper.orderByDesc("time"); //������ Page<Supervision> supervisionPage = new Page<>(page, size); - supervisionMapper.selectPage(supervisionPage, queryWrapper); + supervisionMapper.selectPage(supervisionPage, supervisionQueryWrapper); List<Supervision> supervisions = supervisionPage.getRecords(); - Map<String, Object> result = new LinkedHashMap<>(); result.put("total", supervisionPage.getTotal()); @@ -124,10 +164,13 @@ } @Override + @Transactional public Map<String, Object> updateSupervision(MultipartFile[] files, Supervision supervision) { - String path = this.getClass().getClassLoader() - .getResource("").getFile() + "static/img"; + //������jar��������������� + ApplicationHome applicationHome = new ApplicationHome(getClass()); + //���jar������������������������������upload������������������������������������ + String path = applicationHome.getSource().getParentFile().toString() + "/static/img"; Map<String, Object> result = new HashMap<>(); @@ -165,6 +208,7 @@ } @Override + @Transactional public void deleteSupervision(Integer supervisionId) { QueryWrapper<Supervision> queryWrapper = new QueryWrapper<>(); queryWrapper.select("id", "images").eq("id", supervisionId); @@ -178,12 +222,11 @@ //��������������������������������������� - String path = this.getClass().getClassLoader() - .getResource("").getFile() + "static/img"; + ApplicationHome applicationHome = new ApplicationHome(getClass()); + String path = applicationHome.getSource().getParentFile().toString() + "/static/img"; for (String image : images) { String realPath = path + File.separator + image; File file = new File(realPath); - log.info(realPath); if (file.exists() && file.isFile()) { file.delete(); } -- Gitblit v1.8.0