From adec60ee0cac3c28995df5b15d88b8f761cf2655 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 09 Nov 2023 21:10:59 +0800
Subject: [PATCH] 租房统计查询修改
---
src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java | 4 +
src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java | 6 +
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java | 6 +
src/main/java/org/springblade/modules/house/service/IHouseRentalService.java | 6 +
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 126 +++++++++++++++++++++++++----------------
src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java | 12 +++
src/main/java/org/springblade/modules/house/controller/HouseRentalController.java | 8 ++
7 files changed, 111 insertions(+), 57 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
index 8686fcd..e8196b0 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
@@ -158,9 +158,13 @@
return R.status(houseRentalService.removeHouseRental(id));
}
+ /**
+ * 获取统计数据
+ * @return
+ */
@GetMapping("/getStatistics")
- public R getStatistics(){
- return R.data(houseRentalService.getStatistics());
+ public R getStatistics(HouseRentalTenantVO houseRental){
+ return R.data(houseRentalService.getStatistics(houseRental));
}
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
index 9a94a8c..a85e0c9 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -50,5 +50,9 @@
*/
List<HouseRentalVO> getHouseRentalListByCode(@Param("code") String code);
- List<HouseRentalStatistics> getStatistics();
+ /**
+ * 获取统计数据
+ * @return
+ */
+ List<HouseRentalStatistics> getStatistics(@Param("vo") HouseRentalTenantVO houseRental);
}
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 11a8af9..c70c3f1 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -31,29 +31,55 @@
</collection>
</resultMap>
-
+ <!--自定义列表查询-->
<select id="selectHouseRentalPage" resultType="org.springblade.modules.house.vo.HouseRentalTenantVO">
SELECT jhr.*,jda.address_name as houseName,b.tenantName,b.phone
FROM jczz_house_rental jhr
- LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
- LEFT JOIN (
- SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
- FROM jczz_house_tenant jht RIGHT JOIN (
- SELECT MAX(ID) as id,housing_rental_id
- FROM jczz_house_tenant
- WHERE is_deleted = 0
- <if test="vo.tenantName != null and vo.tenantName != ''">
- AND name LIKE CONCAT('%',#{vo.tenantName},'%')
- </if>
- GROUP BY housing_rental_id
- ) a ON a.id = jht.id
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
+ LEFT JOIN (
+ SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
+ FROM jczz_house_tenant jht RIGHT JOIN (
+ SELECT MAX(ID) as id,housing_rental_id
+ FROM jczz_house_tenant
+ WHERE is_deleted = 0
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND name LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ GROUP BY housing_rental_id
+ ) a ON a.id = jht.id
) b ON b.housing_rental_id = jhr.id
WHERE jhr.is_deleted = 0
- <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
- AND jhr.audit_status = #{vo.auditStatus}
+ <if test="vo.auditStatus != null and vo.auditStatus != ''">
+ <if test="vo.auditStatus ==0 || vo.auditStatus ==1">
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
+ <if test="vo.auditStatus ==10">
+ AND date_format(jhr.due_time,'%Y-%m-%d')>= date_format(now(),'%Y-%m-%d')
+ </if>
+ <if test="vo.auditStatus ==20">
+ AND TIMESTAMPDIFF( day, now(), jhr.due_time )<30
+ </if>
+ <if test="vo.auditStatus ==30">
+ AND date_format(jhr.due_time,'%Y-%m-%d')< date_format(now(),'%Y-%m-%d')
+ </if>
</if>
<if test="vo.tenantName != null and vo.tenantName != ''">
AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ <if test="vo.dldType != null">
+ <if test="vo.dldType ==1 ">
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
+ </if>
+ <if test="vo.dldType ==2 ">
+ AND 4 <= TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<=8
+ </if>
+ <if test="vo.dldType ==3 ">
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<4
+ </if>
</if>
</select>
@@ -72,46 +98,48 @@
<select id="getStatistics" resultType="org.springblade.modules.house.vo.HouseRentalStatistics">
SELECT
- 'longTerm' AS term,COUNT( 1 ) total,temp.personNum
- FROM(
- SELECT COUNT( 1 ) personNum
- FROM jczz_house_rental jhr
- LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
- WHERE
- TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
- AND jhr.is_deleted = 0 and jht.is_deleted = 0
- GROUP BY jht.housing_rental_id
- ) TEMP
- GROUP BY TEMP.personNum
+ 'longTerm' as term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
+ ) jht
+ ON jht.housing_rental_id = jhr.id
+ WHERE jhr.is_deleted = 0
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
+ <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
UNION ALL
- SELECT 'middleTerm' AS term,COUNT( 1 ) total, temp.personNum
- FROM(
- SELECT COUNT( 1 ) personNum
- FROM jczz_house_rental jhr
- LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
- WHERE
- 4 <= TIMESTAMPDIFF( MONTH, rental_time, due_time )
- AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<=8
- AND jhr.is_deleted = 0 and jht.is_deleted = 0
- GROUP BY jht.housing_rental_id
- ) TEMP
- GROUP BY TEMP.personNum
+ SELECT 'middleTerm' AS term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
+ ) jht
+ ON jht.housing_rental_id = jhr.id
+ WHERE jhr.is_deleted = 0
+ AND 4 <= TIMESTAMPDIFF( MONTH, rental_time, due_time ) AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<=8
+ <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
UNION ALL
- SELECT 'shortTerm' AS term,COUNT( 1 ) total,temp.personNum
- FROM(
- SELECT COUNT( 1 ) personNum
- FROM jczz_house_rental jhr
- LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
- WHERE
- TIMESTAMPDIFF( MONTH, rental_time, due_time )<4
- AND jhr.is_deleted = 0 and jht.is_deleted = 0
- GROUP BY jht.housing_rental_id
- ) TEMP
- GROUP BY TEMP.personNum
+ SELECT 'shortTerm' AS term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
+ ) jht
+ ON jht.housing_rental_id = jhr.id
+ WHERE jhr.is_deleted = 0
+ AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<4
+ <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
</select>
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
index eef8008..52006b9 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
@@ -71,5 +71,9 @@
*/
Boolean updateHouseRental(HouseRentalVO houseRental);
- List<HouseRentalStatistics> getStatistics();
+ /**
+ * 获取统计数据
+ * @return
+ */
+ Object getStatistics(HouseRentalTenantVO houseRental);
}
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index ce1ebb2..b2494d1 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -36,6 +36,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -189,8 +190,15 @@
return update && addFlag && updateFlag && removeFlag;
}
+ /**
+ * 获取统计数据
+ * @return
+ */
@Override
- public List<HouseRentalStatistics> getStatistics() {
- return baseMapper.getStatistics();
+ public Object getStatistics(HouseRentalTenantVO houseRental) {
+ // 查询
+ List<HouseRentalStatistics> statistics = baseMapper.getStatistics(houseRental);
+ // 返回
+ return statistics;
}
}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
index 2279d91..213400f 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -85,12 +85,14 @@
boolean flag = false;
// 设置更新时间
placeExt.setConfirmTime(new Date());
+ placeExt.setConfirmUserId(AuthUtil.getUserId());
// 更新数据
boolean b = updateById(placeExt);
if (b) {
+ PlaceExtEntity entity = getById(placeExt.getId());
// 更新任务表状态
TaskEntity taskEntity = new TaskEntity();
- taskEntity.setId(placeExt.getTaskId());
+ taskEntity.setId(entity.getTaskId());
taskEntity.setStatus(placeExt.getConfirmFlag());
flag = taskService.updateById(taskEntity);
}
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 0703985..78abd3c 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
@@ -28,6 +28,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@@ -107,16 +108,19 @@
* @return
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public boolean checkReportForRepairs(TaskReportForRepairsEntity taskReportForRepairs) {
boolean flag = false;
// 设置更新时间
taskReportForRepairs.setConfirmTime(new Date());
+ taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
// 更新数据
boolean b = updateById(taskReportForRepairs);
if (b) {
+ TaskReportForRepairsEntity entity = getById(taskReportForRepairs.getId());
// 更新任务表状态
TaskEntity taskEntity = new TaskEntity();
- taskEntity.setId(taskReportForRepairs.getTaskId());
+ taskEntity.setId(entity.getTaskId());
taskEntity.setStatus(taskReportForRepairs.getConfirmFlag());
flag = taskService.updateById(taskEntity);
}
--
Gitblit v1.9.3