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 | 104 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 89 insertions(+), 15 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 4afdb41..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;
@@ -11,11 +15,15 @@
import com.moral.constant.ResponseCodeEnum;
import com.moral.util.FileUtils;
+import lombok.extern.slf4j.Slf4j;
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;
+import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -34,16 +42,25 @@
* @since 2022-01-12
*/
@Service
+@Slf4j
public class SupervisionServiceImpl extends ServiceImpl<SupervisionMapper, Supervision> implements SupervisionService {
@Autowired
private SupervisionMapper supervisionMapper;
- @Override
- public Map<String, Object> add(MultipartFile[] files, Supervision supervision) {
+ @Autowired
+ private OrganizationService organizationService;
- String path = this.getClass().getClassLoader()
- .getResource("").getFile() + "static/img/";
+ @Autowired
+ private MonitorPointService monitorPointService;
+
+ @Override
+ @Transactional
+ public Map<String, Object> add(MultipartFile[] files, Supervision supervision) {
+ //������jar���������������
+ ApplicationHome applicationHome = new ApplicationHome(getClass());
+ //���jar������������������������������upload������������������������������������
+ String path = applicationHome.getSource().getParentFile().toString() + "/static/img";
Map<String, Object> result = new HashMap<>();
@@ -83,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());
@@ -119,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<>();
@@ -158,4 +206,30 @@
supervisionMapper.updateById(supervision);
return result;
}
+
+ @Override
+ @Transactional
+ public void deleteSupervision(Integer supervisionId) {
+ QueryWrapper<Supervision> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("id", "images").eq("id", supervisionId);
+ Supervision supervision = supervisionMapper.selectOne(queryWrapper);
+ String[] images = supervision.getImages().split(",");
+
+ //������������
+ supervision.setIsDelete(Constants.DELETE);
+ supervision.setImages(null);
+ supervisionMapper.updateById(supervision);
+
+
+ //���������������������������������������
+ 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);
+ if (file.exists() && file.isFile()) {
+ file.delete();
+ }
+ }
+ }
}
--
Gitblit v1.8.0