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/resources/mapper/SupervisionMapper.xml | 1
screen-api/src/main/java/com/moral/api/service/impl/SupervisionServiceImpl.java | 76 +++++++++++++++++++++++---------------
screen-api/src/main/java/com/moral/api/controller/SupervisionController.java | 3 +
screen-api/src/main/java/com/moral/api/entity/Supervision.java | 5 ++
4 files changed, 54 insertions(+), 31 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/SupervisionController.java b/screen-api/src/main/java/com/moral/api/controller/SupervisionController.java
index 0aa0248..9ecaf4b 100644
--- a/screen-api/src/main/java/com/moral/api/controller/SupervisionController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/SupervisionController.java
@@ -43,6 +43,7 @@
@ApiOperation(value = "���������������������", notes = "���������������������")
@ApiImplicitParams({
+ @ApiImplicitParam(name = "organizationId", value = "������id", required = false, paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "cityCode", value = "���������", required = false, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = "start", value = "������������", required = false, paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "end", value = "������������", required = false, paramType = "query", dataType = "String"),
@@ -52,7 +53,7 @@
@GetMapping("select")
public ResultMessage select(HttpServletRequest request) {
Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
- if (!params.containsKey("cityCode")) {
+ if (!params.containsKey("cityCode") && !params.containsKey("organizationId")) {
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
}
diff --git a/screen-api/src/main/java/com/moral/api/entity/Supervision.java b/screen-api/src/main/java/com/moral/api/entity/Supervision.java
index 17f4a4f..a527762 100644
--- a/screen-api/src/main/java/com/moral/api/entity/Supervision.java
+++ b/screen-api/src/main/java/com/moral/api/entity/Supervision.java
@@ -38,6 +38,11 @@
private Integer cityCode;
/**
+ * ������������
+ */
+ private String cityName;
+
+ /**
* ������
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
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 9f5cd2a..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
@@ -1,18 +1,18 @@
package com.moral.api.service.impl;
-import com.alibaba.fastjson.JSONObject;
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.entity.SysArea;
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;
-import com.moral.api.service.SysAreaService;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
-import com.moral.util.DateUtils;
import com.moral.util.FileUtils;
import lombok.extern.slf4j.Slf4j;
@@ -49,7 +49,10 @@
private SupervisionMapper supervisionMapper;
@Autowired
- private SysAreaService sysAreaService;
+ private OrganizationService organizationService;
+
+ @Autowired
+ private MonitorPointService monitorPointService;
@Override
@Transactional
@@ -97,52 +100,65 @@
@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();
-
- //������������������
- List<Map<String, Object>> item = new ArrayList<>();
- QueryWrapper<SysArea> sysAreaQueryWrapper = new QueryWrapper<>();
- sysAreaQueryWrapper.eq("area_code", cityCode);
- SysArea one = sysAreaService.getOne(sysAreaQueryWrapper);
- String cityName = one.getAreaName();
- for (Supervision supervision : supervisions) {
- Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(supervision), Map.class);
- map.remove("isDelete");
- map.remove("createTime");
- map.remove("updateTime");
- map.put("cityName", cityName);
- map.put("time", DateUtils.getLongToStr((Long) map.remove("time"), DateUtils.yyyy_MM_dd_EN));
- item.add(map);
- }
Map<String, Object> result = new LinkedHashMap<>();
result.put("total", supervisionPage.getTotal());
result.put("totalPage", supervisionPage.getPages());
result.put("current", supervisionPage.getCurrent());
result.put("pageSize", supervisionPage.getSize());
- result.put("item", item);
+ result.put("item", supervisions);
return result;
}
diff --git a/screen-api/src/main/resources/mapper/SupervisionMapper.xml b/screen-api/src/main/resources/mapper/SupervisionMapper.xml
index 7db5524..90d0d3b 100644
--- a/screen-api/src/main/resources/mapper/SupervisionMapper.xml
+++ b/screen-api/src/main/resources/mapper/SupervisionMapper.xml
@@ -6,6 +6,7 @@
<resultMap id="BaseResultMap" type="com.moral.api.entity.Supervision">
<id column="id" property="id"/>
<result column="city_code" property="cityCode"/>
+ <result column="city_name" property="cityName"/>
<result column="time" property="time"/>
<result column="supervisee_unit" property="superviseeUnit"/>
<result column="number" property="number"/>
--
Gitblit v1.8.0