From 6e9f2c5ade8802645fd4e0b718ae14d40066b4d5 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 15 Dec 2023 18:17:21 +0800
Subject: [PATCH] 管理后台优化
---
src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java | 2
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml | 67 +++++-------
src/main/java/org/springblade/modules/article/mapper/ArticleCommentMapper.xml | 1
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | 11 +-
src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java | 14 +-
src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml | 3
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml | 17 +++
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml | 145 ++++++++++------------------
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java | 3
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 6
10 files changed, 122 insertions(+), 147 deletions(-)
diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleCommentMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleCommentMapper.xml
index 63b1422..ae74e98 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleCommentMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleCommentMapper.xml
@@ -80,6 +80,7 @@
<if test="noticeComment.phone != null ">and bu.phone like concat('%',#{noticeComment.phone},'%')</if>
<if test="noticeComment.name != null ">and bu.name like concat('%',#{noticeComment.name},'%')</if>
<if test="noticeComment.title != null ">and ja.title like concat('%',#{noticeComment.title},'%') </if>
+ and jac.user_id is not null
</where>
</select>
diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index 5f37093..c88e9ba 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -101,6 +101,14 @@
and jpd.event_type = #{article.eventType}
</if>
+ <if test="article.type != null">
+ and ja.type = #{article.type}
+ </if>
+
+ <if test="article.type == null">
+ and ja.type = 0
+ </if>
+
<if test="article.districtId != null and article.districtId != ''">
and (ja.article_range like concat('%',#{article.districtId},'%')
or ja.article_range is null)
@@ -132,6 +140,14 @@
and ja.publish = 1
<if test="article.articleType != null and article.articleType != ''">
and ja.article_type = #{article.articleType}
+ </if>
+
+ <if test="article.type != null">
+ and ja.type = #{article.type}
+ </if>
+
+ <if test="article.type == null">
+ and ja.type = 0
</if>
<if test="article.districtId != null and article.districtId != ''">
@@ -169,6 +185,7 @@
AND CONCAT(title,source_name)
LIKE CONCAT ('%', #{article.keyword},'%')
</if>
+ <if test="article.type != null ">and type = #{article.type}</if>
and is_deleted = 0
order by id desc
diff --git a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
index b305a62..4c90d65 100644
--- a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.lettuce.core.dynamic.annotation.Param;
import org.springblade.modules.article.entity.Article;
import org.springblade.modules.article.mapper.ArticleMapper;
import org.springblade.modules.article.service.ArticleService;
@@ -27,7 +28,7 @@
*/
@Override
public IPage<Article> selectArticlePage(IPage<Article> page, ArticleVO article) {
- return page.setRecords(baseMapper.selectArticlePage(page,article));
+ return page.setRecords(baseMapper.selectArticlePage(page, article));
}
/**
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
index 90a7c4e..d912f9c 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
@@ -55,6 +55,9 @@
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
WHERE jg.community_code = #{code}
AND jg.is_deleted = 0
+ <if test="userId!=null">
+ and jgm.user_id= #{userId}
+ </if>
</select>
<select id="getCompanyStatistics" resultType="java.lang.Integer">
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
index 7935a7a..c1e7ffe 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
@@ -187,7 +187,7 @@
objectObjectHashMap.put("gridStatistics", gridStatistics);
objectObjectHashMap.put("companyStatistics", companyStatistics);
} else {
- Integer gridStatistics = baseMapper.getGridStatistics(code, AuthUtil.getUserId());
+ Integer gridStatistics = baseMapper.getGridStatistics(code, null);
Integer companyStatistics = baseMapper.getCompanyStatistics(code, null);
objectObjectHashMap.put("gridStatistics", gridStatistics);
objectObjectHashMap.put("companyStatistics", companyStatistics);
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 6c35a85..98c0d5d 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -206,41 +206,33 @@
<select id="getHouseStatisticsOne" resultType="java.lang.Integer">
- SELECT
+ SELECT
count( 1 )
FROM
- jczz_house jh
- WHERE
- jh.is_deleted = 0
- AND
- EXISTS (
- SELECT
+ (
+ SELECT DISTINCT
jda.building_code
FROM
- jczz_doorplate_address jda
+ jczz_house jh
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
WHERE
- jh.house_code = jda.address_code
- AND jda.nei_code = #{code}
- AND jda.building_code IS NOT NULL
-
+ jda.nei_code = #{code}
+ AND jh.is_deleted = 0
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
- FROM
- jczz_grid jg
- LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
- LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
- WHERE
- jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
- AND jg.is_deleted = 0
- )
- </if>
-
- GROUP BY
- jda.building_code
+ AND jda.address_code IN (
+ SELECT DISTINCT
+ jgr.house_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jg.is_deleted = 0
)
+ </if>
+ ) a
+
</select>
@@ -248,75 +240,55 @@
SELECT
count( 1 )
FROM
- jczz_house jh
- WHERE
- jh.is_deleted = 0
- AND
- EXISTS (
- SELECT
+ (
+ SELECT DISTINCT
jda.address_code
FROM
- jczz_doorplate_address jda
+ jczz_house jh
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
WHERE
- jh.house_code = jda.address_code
- AND jda.nei_code = #{code}
- AND jda.building_code IS NOT NULL
-
+ jda.nei_code = #{code}
+ AND jh.is_deleted = 0
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
+ AND jda.address_code IN (
+ SELECT DISTINCT
+ jgr.house_code
FROM
jczz_grid jg
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
WHERE
jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
AND jg.is_deleted = 0
)
</if>
-
- GROUP BY
- jda.address_code
- )
+ ) a
</select>
<select id="getHouseStatisticsThree" resultType="java.lang.Integer">
SELECT
- count(1)
+ count( 1 )
FROM
jczz_household jhh
- LEFT JOIN jczz_house jh ON jhh.house_code = jh.house_code
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhh.house_code
WHERE
- jh.is_deleted = 0
+ jda.nei_code = #{code}
AND jhh.is_deleted = 0
- AND jhh.house_code IN (
- SELECT
- jda.address_code
- FROM
- jczz_doorplate_address jda
- WHERE
- jh.house_code = jda.address_code
- AND jda.nei_code = #{code}
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
- FROM
- jczz_grid jg
- LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
- LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
- WHERE
- jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
- AND jg.is_deleted = 0
- )
- </if>
+ AND jda.address_code IN (
+ SELECT
+ jgr.house_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jg.is_deleted = 0
)
-
+ </if>
</select>
@@ -324,38 +296,29 @@
SELECT
count( 1 )
FROM
- jczz_house jh
- WHERE
- jh.is_deleted = 0
- AND
- EXISTS (
- SELECT
+ (
+ SELECT DISTINCT
jda.unit_code
FROM
- jczz_doorplate_address jda
+ jczz_house jh
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
WHERE
- jh.house_code = jda.address_code
- AND jda.nei_code = #{code}
- AND jda.building_code IS NOT NULL
-
+ jda.nei_code = #{code}
+ AND jh.is_deleted = 0
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
+ AND jda.address_code IN (
+ SELECT DISTINCT
+ jgr.house_code
FROM
jczz_grid jg
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
WHERE
jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
AND jg.is_deleted = 0
)
</if>
-
- GROUP BY
- jda.unit_code
- )
+ ) a
</select>
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index e6eecf3..b08e12d 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -243,21 +243,15 @@
<select id="getHouseHoldStatistics" resultType="java.util.Map">
-
- SELECT
- a.gender,
- count( a.gender ) numbers
- FROM
- (
SELECT
CASE
-
WHEN
jh.gender = 1 THEN
'男'
WHEN jh.gender = 0 THEN
'女' ELSE '未知'
- END AS gender
+ END AS gender,
+ count( 1 ) numbers
FROM
jczz_household jh
LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
@@ -265,22 +259,23 @@
jda.nei_code = #{code}
AND jh.is_deleted = 0
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
- FROM
- jczz_grid jg
- LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
- LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
- WHERE
- jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
- AND jg.is_deleted = 0
- )
+ AND jda.address_code IN (
+ SELECT
+ jgr.house_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jh.house_code = jgr.house_code
+ AND jg.is_deleted = 0
+ )
</if>
- ) a
GROUP BY
- a.gender
+ gender
+
+
</select>
<select id="getHouseHoldStatisticsAge" resultType="java.util.Map">
@@ -300,24 +295,20 @@
WHERE
jda.nei_code = #{code}
AND jh.is_deleted = 0
- GROUP BY
- age
<if test="userId != null">
- AND EXISTS (
- SELECT
- *
- FROM
- jczz_grid jg
- LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
- LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
- WHERE
- jgm.user_id = #{userId}
- AND jh.house_code = jgr.house_code
- AND jg.is_deleted = 0
- )
+ AND jda.address_code IN (
+ SELECT
+ distinct jgr.house_code
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jg.is_deleted = 0
+ )
</if>
- ORDER BY
- age
+ GROUP BY age
</select>
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 070d0b2..68aac06 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -31,7 +31,6 @@
import org.springblade.modules.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.system.entity.Dept;
-import org.springblade.modules.system.entity.UserDept;
import org.springblade.modules.system.mapper.DeptMapper;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
@@ -201,16 +200,16 @@
queryWrapper.eq("is_deleted",0).eq("id", dept.getParentId());
Dept parentDept = getOne(queryWrapper);
// 如果父机构为物业公司
- if (parentDept.getDeptName().equals("物业公司")){
+ if (parentDept != null && parentDept.getDeptName().equals("物业公司")) {
// 查询当前
QueryWrapper<Dept> wrapper = new QueryWrapper<>();
- wrapper.eq("is_deleted",0)
- .eq("dept_name",dept.getDeptName());
+ wrapper.eq("is_deleted", 0)
+ .eq("dept_name", dept.getDeptName());
Dept one = getOne(wrapper);
- if (null!=one){
+ if (null != one) {
dept.setId(one.getId());
flag = updateById(dept);
- }else {
+ } else {
flag = save(dept);
}
//保存物业公司信息
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index b5da0f1..13a1782 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -74,7 +74,6 @@
LEFT JOIN jczz_doorplate_address jda ON jtrfr.address_code = jda.address_code
WHERE
jda.nei_code = #{code}
- AND jda.unit_code IS NOT NULL
AND jtrfr.is_deleted = 0
<if test="status != null">
and jtrfr.confirm_flag = #{status}
@@ -84,16 +83,15 @@
</if>
<if test="userId != null">
- AND EXISTS (
+ AND jda.address_code in (
SELECT
- *
+ jgr.house_code
FROM
jczz_grid jg
LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
WHERE
jgm.user_id = #{userId}
- AND jtrfr.address_code = jgr.house_code
AND jg.is_deleted = 0
)
</if>
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
index db6077d..4bf1d63 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
@@ -65,6 +65,8 @@
if (taskReportForRepairs.getRoleName().equals("网格员")) {
// 查询对应的房屋地址code
list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ } else if(taskReportForRepairs.getRoleName().equals("居民")){
+ taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
}
}
return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs,list));
@@ -169,21 +171,21 @@
public Object getReportForStatistics(String code, String roleType) {
Map<String, Object> objectObjectHashMap = new HashMap<>();
if (roleType.equals("1")) {
- Integer result = baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), 1,null);
Integer result1 = baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), null,null);
+ Integer result = baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), 1,null);
// result 总数 result1 已处理 result2 处理率 result3 公共维修 result4 居家维修 result5 矛盾纠纷 result6 投诉举报
- objectObjectHashMap.put("result", result);
- objectObjectHashMap.put("result1", result1);
+ objectObjectHashMap.put("result", result1);
+ objectObjectHashMap.put("result1", result);
objectObjectHashMap.put("result2", result1.equals(0) ? 0 : BigDecimal.valueOf(result).divide(BigDecimal.valueOf(result1), 2, BigDecimal.ROUND_HALF_UP));
objectObjectHashMap.put("result3", baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), null,1));
objectObjectHashMap.put("result4", baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), null,2));
objectObjectHashMap.put("result5", baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), null,3));
objectObjectHashMap.put("result6", baseMapper.getReportForStatistics(code, AuthUtil.getUserId(), null,4));
} else {
- Integer result = baseMapper.getReportForStatistics(code, null, 1,null);
Integer result1 = baseMapper.getReportForStatistics(code, null, null,null);
- objectObjectHashMap.put("result", result);
- objectObjectHashMap.put("result1", result1);
+ Integer result = baseMapper.getReportForStatistics(code, null, 1,null);
+ objectObjectHashMap.put("result", result1);
+ objectObjectHashMap.put("result1", result);
objectObjectHashMap.put("result2", result1.equals(0) ? 0 : BigDecimal.valueOf(result).divide(BigDecimal.valueOf(result1), 2, BigDecimal.ROUND_HALF_UP));
objectObjectHashMap.put("result3", baseMapper.getReportForStatistics(code,null,null,1));
objectObjectHashMap.put("result4", baseMapper.getReportForStatistics(code, null, null,2));
--
Gitblit v1.9.3