From 4cc3da53fca83e9212511c980acb6799ec346565 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 11 Nov 2023 15:02:55 +0800
Subject: [PATCH] 标签报事+通知公告

---
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java                         |   31 ++++++-
 src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java         |    7 +
 src/main/java/org/springblade/common/node/TreeNode.java                                              |   16 ++++
 src/main/java/org/springblade/common/constant/DictConstant.java                                      |    4 +
 src/main/java/org/springblade/modules/article/controller/ArticleController.java                      |    2 
 src/main/java/org/springblade/modules/task/controller/TaskController.java                            |   12 ++
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.java                                    |    2 
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                                   |   14 ++
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml                               |   14 ++-
 src/main/java/org/springblade/modules/task/service/ITaskService.java                                 |    2 
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml                                     |   26 ++++++
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   45 ++++++++--
 src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java    |   11 ++
 13 files changed, 160 insertions(+), 26 deletions(-)

diff --git a/src/main/java/org/springblade/common/constant/DictConstant.java b/src/main/java/org/springblade/common/constant/DictConstant.java
index 896b3d2..b8184a4 100644
--- a/src/main/java/org/springblade/common/constant/DictConstant.java
+++ b/src/main/java/org/springblade/common/constant/DictConstant.java
@@ -45,4 +45,8 @@
 
 	String BAIL_PENDING_TRIAL= "取保候审";
 
+	String SMALL_DOORPLATE= "小门牌";
+
+	String centre_DOORPLATE= "中门牌";
+
 }
diff --git a/src/main/java/org/springblade/common/node/TreeNode.java b/src/main/java/org/springblade/common/node/TreeNode.java
index 366c0db..a76b16a 100644
--- a/src/main/java/org/springblade/common/node/TreeNode.java
+++ b/src/main/java/org/springblade/common/node/TreeNode.java
@@ -32,6 +32,22 @@
 	private String name;
 
 	/**
+	 * 门牌类型
+	 */
+	private String doorplateType;
+
+	/**
+	 * 地址等级
+	 */
+	private Integer addressLevel;
+
+	/**
+	 * 房屋编码
+	 */
+	private String houseCode;
+
+
+	/**
 	 * 地址类型 1:小区  2:非小区  3:街路巷
 	 */
 	private Integer addressType;
diff --git a/src/main/java/org/springblade/modules/article/controller/ArticleController.java b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
index d862303..6cbb4ef 100644
--- a/src/main/java/org/springblade/modules/article/controller/ArticleController.java
+++ b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
@@ -24,6 +25,7 @@
 @RestController
 @AllArgsConstructor
 @RequestMapping("/blade-article/article")
+@Api(value = "通知", tags = "通知")
 public class ArticleController {
 
 	private final ArticleService articleService;
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
index 85d30c8..a40ff3f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -157,6 +157,17 @@
 	}
 
 	/**
+	 * 判断房屋类型
+	 * @param code 门牌地址编号
+	 * @return
+	 */
+//	@GetMapping("/getHouseType")
+//	@ApiOperation(value = "通过houseCode判断房屋类型")
+//	public R getHouseType(String code) {
+//		return R.data(doorplateAddressService.getHouseType(code));
+//	}
+
+	/**
 	 * 获取门牌地址树集合信息
 	 * @param code
 	 * @param type
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index f140d8b..554fd91 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -71,4 +71,11 @@
 	 * @return
 	 */
 	DoorplateAddressVO getDoorplateAddressDetail(DoorplateAddressVO doorplateAddressVO);
+
+	/**
+	 *
+	 * @param code
+	 * @return
+	 */
+	Object getHouseType(String code);
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 203f994..33cb754 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -16,25 +16,20 @@
  */
 package org.springblade.modules.doorplateAddress.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
-import org.apache.poi.hssf.record.DVALRecord;
-import org.jetbrains.annotations.NotNull;
+import org.springblade.common.constant.DictConstant;
 import org.springblade.common.node.TreeNode;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
 import org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper;
 import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
-import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
 import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
+import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
 import org.springblade.modules.doorplateAddress.vo.FuncNode;
 import org.springblade.modules.house.service.IHouseRentalService;
-import org.springblade.modules.house.service.IHouseholdLabelService;
 import org.springblade.modules.house.service.IHouseholdService;
 import org.springblade.modules.house.vo.HouseParam;
 import org.springblade.modules.house.vo.HouseRentalVO;
@@ -42,7 +37,6 @@
 import org.springblade.modules.place.service.IPlaceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -116,9 +110,28 @@
 	private Object getInhabitantInfo(List<TreeNode> list) {
 		// 查询房屋集合信息
 		List<TreeNode> houseNodeList = householdService.selectHouseNodeList(AuthUtil.getUserId());
+		for (TreeNode treeNode : houseNodeList) {
+			// 判断房屋类型类型
+			if (treeNode.getDoorplateType().equals(DictConstant.SMALL_DOORPLATE) ||
+				(treeNode.getDoorplateType().equals(DictConstant.centre_DOORPLATE) &&
+					treeNode.getAddressLevel().equals(1))) {
+				treeNode.setAddressType(2);
+			} else {
+				treeNode.setAddressType(1);
+			}
+		}
 		// 查询场所集合信息
 		List<TreeNode> placeNodeList = placeService.selectPlaceNodeList(AuthUtil.getUserId());
-		if (houseNodeList.size()>0 && placeNodeList.size()>0){
+		for (TreeNode treeNode : placeNodeList) {
+			if (treeNode.getDoorplateType().equals(DictConstant.SMALL_DOORPLATE) ||
+				(treeNode.getDoorplateType().equals(DictConstant.centre_DOORPLATE) &&
+					treeNode.getAddressLevel().equals(1))) {
+				treeNode.setAddressType(2);
+			} else {
+				treeNode.setAddressType(3);
+			}
+		}
+		if (houseNodeList.size() > 0 && placeNodeList.size() > 0) {
 			// 合并
 			TreeNode houseNode = new TreeNode();
 			houseNode.setName("房屋");
@@ -408,4 +421,16 @@
 		// 返回
 		return doorplateAddress;
 	}
+
+	@Override
+	public Object getHouseType(String code) {
+		DoorplateAddressEntity doorplateAddressEntity = baseMapper.selectOne(Wrappers.<DoorplateAddressEntity>lambdaQuery().eq(DoorplateAddressEntity::getAddressCode, code));
+		// 判断房屋信息是否住宅
+		if (doorplateAddressEntity.getDoorplateType().equals(DictConstant.SMALL_DOORPLATE) ||
+			(doorplateAddressEntity.getDoorplateType().equals(DictConstant.centre_DOORPLATE) &&
+				doorplateAddressEntity.getAddressLevel().equals(1))) {
+			return 1;
+		}
+		return 0;
+	}
 }
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 7284881..a67e880 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -55,10 +55,16 @@
 
     <!--查询房屋集合信息-->
     <select id="selectHouseNodeList" resultType="org.springblade.common.node.TreeNode" >
-        select jh.house_code as id,jda.address_name as name,false as hasChildren from jczz_household jh
-        left join jczz_doorplate_address jda on jh.house_code = jda.address_code
-        where 1=1
-        and associated_user_id = #{userId}
+        select jh.house_code    as id,
+               jh.house_code    as houseCode,
+               jda.address_name as name,
+               false            as hasChildren,
+               jda.doorplate_type  doorplateType,
+               jda.address_level   addressLevel
+        from jczz_household jh
+                 left join jczz_doorplate_address jda on jh.house_code = jda.address_code
+        where 1 = 1
+          and associated_user_id = #{userId}
     </select>
 
     <!--查询房屋集合信息-->
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index bc86f44..042c941 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -46,9 +46,17 @@
 
     <!--查询场所集合信息-->
     <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeNode" >
-        select id,place_name as name,false as hasChildren from jczz_place
-        where 1=1 and is_deleted = 0
-        and principal_user_id = #{userId}
+        select jp.id,
+               jp.house_code      houseCode,
+               jp.place_name as   name,
+               jda.doorplate_type doorplateType,
+               jda.address_level  addressLevel,
+               false         as   hasChildren
+        from jczz_place jp
+                 left join jczz_doorplate_address jda on jp.house_code = jda.address_code
+        where 1 = 1
+          and jp.is_deleted = 0
+          and jp.principal_user_id = #{userId}
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/task/controller/TaskController.java b/src/main/java/org/springblade/modules/task/controller/TaskController.java
index 6a1bece..3ca0f16 100644
--- a/src/main/java/org/springblade/modules/task/controller/TaskController.java
+++ b/src/main/java/org/springblade/modules/task/controller/TaskController.java
@@ -122,7 +122,7 @@
 	}
 
 	@PostMapping("/countNumber")
-	@ApiOperationSupport(order = 7)
+	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "统计用户标签报事数量")
 	public R countNumber(@RequestParam(value = "houseCode",required = false) String houseCode, @RequestParam(value = "status",required = false) Integer status) {
 		return R.data(taskService.countNumber(houseCode, status));
@@ -130,11 +130,19 @@
 
 
 	@GetMapping("/countTypeNumber")
-	@ApiOperationSupport(order = 7)
+	@ApiOperationSupport(order = 9)
 	@ApiOperation(value = "统计类型数量")
 	public R countTypeNumber() {
 		return R.data(taskService.countTypeNumber());
 	}
 
 
+	@GetMapping("/countFrequencyNumber")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "统计周期类型数量")
+	public R countFrequencyNumber() {
+		return R.data(taskService.countFrequencyNumber());
+	}
+
+
 }
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
index 71f96e2..d67c35d 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
@@ -40,5 +40,7 @@
 	 */
 	List<TaskVO> selectTaskPage(IPage page,TaskVO task);
 
+	Integer selectTaskCount(TaskVO task);
+
 
 }
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
index b323a6e..fce8d9d 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -45,4 +45,30 @@
     </select>
 
 
+    <select id="selectTaskCount" resultType="int" parameterType="org.springblade.modules.task.vo.TaskVO">
+        SELECT count(1)
+        FROM
+        jczz_grid jg
+        LEFT JOIN jczz_grid_range jgr ON jg.id = jgr.grid_id
+        LEFT JOIN jczz_task jt ON jgr.house_code = jt.house_code
+        LEFT JOIN jczz_doorplate_address jda on jda.address_code=jt.house_code
+        WHERE
+        jg.user_id = #{userId}
+        <if test="status != null">
+            and jt.status = #{status}
+        </if>
+        <if test="frequency != null">
+            and jt.frequency = #{frequency}
+        </if>
+        <if test="type != null">
+            and jt.type = #{type}
+        </if>
+        <if test="name != null and name != ''">
+            and jt.name like concat('%', #{name}, '%')
+        </if>
+        order by jt.create_time desc
+
+    </select>
+
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskService.java b/src/main/java/org/springblade/modules/task/service/ITaskService.java
index 5f1350f..60168b5 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskService.java
@@ -64,4 +64,6 @@
     Object countNumber(String houseCode, Integer status);
 
 	Object countTypeNumber();
+
+	Object countFrequencyNumber();
 }
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 0f50c30..7ef4935 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -100,17 +100,34 @@
 
 	@Override
 	public Object countTypeNumber() {
+		TaskVO taskVO = new TaskVO();
 		Map<String, Object> objectObjectHashMap = new HashMap<>();
-		// 已处理
-		Long comprehensiveTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 1)
-			.eq(TaskEntity::getStatus, 1));
-		Long residentialTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 2)
-			.eq(TaskEntity::getStatus, 1));
-		Long publicTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 3)
-			.eq(TaskEntity::getStatus, 1));
+		taskVO.setUserId(AuthUtil.getUserId());
+		taskVO.setType(1);
+		taskVO.setStatus(1);
+		Integer comprehensiveTask = baseMapper.selectTaskCount(taskVO);
+		taskVO.setType(2);
+		Integer residentialTask =  baseMapper.selectTaskCount(taskVO);
+		taskVO.setType(3);
+		Integer publicTask =  baseMapper.selectTaskCount(taskVO);
 		objectObjectHashMap.put("comprehensiveTask", comprehensiveTask);
 		objectObjectHashMap.put("residentialTask", residentialTask);
 		objectObjectHashMap.put("publicTask", publicTask);
 		return objectObjectHashMap;
 	}
+
+	@Override
+	public Object countFrequencyNumber() {
+		Map<String, Object> objectObjectHashMap = new HashMap<>();
+		TaskVO taskVO = new TaskVO();
+		taskVO.setUserId(AuthUtil.getUserId());
+		taskVO.setFrequency(1);
+		taskVO.setStatus(1);
+		Integer disposable = baseMapper.selectTaskCount(taskVO);
+		taskVO.setFrequency(2);
+		Integer periodicity =  baseMapper.selectTaskCount(taskVO);
+		objectObjectHashMap.put("disposable", disposable);
+		objectObjectHashMap.put("periodicity", periodicity);
+		return objectObjectHashMap;
+	}
 }

--
Gitblit v1.9.3