From a8bb4628ba81bd63149476958eb5efe1627863c7 Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期五, 10 十一月 2023 16:33:32 +0800
Subject: [PATCH] 20231110_qiuyh_区域巡检

---
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionMapper.java             |   49 ++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionService.java           |   22 +++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionController.java     |   38 ++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java |   39 ++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java  |  126 +++++++++++++++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionUserEntity.java         |   25 ++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java             |   58 +++++++++
 7 files changed, 357 insertions(+), 0 deletions(-)

diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionController.java
new file mode 100644
index 0000000..7c96526
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionController.java
@@ -0,0 +1,38 @@
+package com.thhy.secure.modules.biz.regionInspection.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:27:20
+ * 区域巡检控制层
+ */
+@RestController
+@RequestMapping(value = "regioninspection")
+public class RegionInspectionController {
+
+	@Autowired
+	private RegionInspectionService regionInspectionService;
+
+	@PostMapping("insertAndUpdate")
+	BasicResult insert(@RequestBody RegionInspectionEntity regionInspectionEntity){
+		return regionInspectionService.insert(regionInspectionEntity);
+	}
+
+	@GetMapping("delete")
+	BasicResult delete(@RequestParam String id){
+		return regionInspectionService.delete(id);
+	}
+
+	@PostMapping("selectPageList")
+	BasicResult selectPageList(@RequestBody Map map){
+		return regionInspectionService.selectPageList(map);
+	}
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java
new file mode 100644
index 0000000..5eae12a
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java
@@ -0,0 +1,58 @@
+package com.thhy.secure.modules.biz.regionInspection.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:02:35
+ * 区域巡检实体
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RegionInspectionEntity implements Serializable {
+
+	private String id;
+
+	private String task;//巡检任务
+
+	private String standard;//巡检标准
+
+	private String userIds;
+	private String realNames;//包含多个人
+
+	/**
+	 * 区域id
+	 */
+	private String regions;
+	private String regionIds;
+
+	private String createUser;
+
+	private Date createTime;
+
+	private String updateUser;
+
+	private Date updateTime;
+
+	private String companyId;
+
+	/**
+	 * 巡检路线
+	 */
+	private String inspectionRoute;
+
+
+	private List<RegionInspectionHazardInformEntity> regionList;
+
+	private List<RegionInspectionUserEntity> regionUsersList;
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
new file mode 100644
index 0000000..c16b005
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
@@ -0,0 +1,39 @@
+package com.thhy.secure.modules.biz.regionInspection.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:05:46
+ * 区域巡检和危险告知源中间表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RegionInspectionHazardInformEntity implements Serializable {
+
+	private String id;
+
+	/**
+	 * 区域巡检id
+	 */
+	private String regionInspectionId;
+
+	/**
+	 * 危险告知源id
+	 */
+	private String regionHazardInformId;
+
+	/**
+	 * 排序值
+	 */
+	private Integer sort;
+
+	private String region;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionUserEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionUserEntity.java
new file mode 100644
index 0000000..710336f
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionUserEntity.java
@@ -0,0 +1,25 @@
+package com.thhy.secure.modules.biz.regionInspection.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:17:21
+ * 区域巡检人员中间表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RegionInspectionUserEntity  implements Serializable {
+
+	private String id;
+	private String regionInspectionId;//区域巡检id
+	private String userId;//管服人员id
+	private String realName;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionMapper.java
new file mode 100644
index 0000000..6f3ae48
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionMapper.java
@@ -0,0 +1,49 @@
+package com.thhy.secure.modules.biz.regionInspection.mapper;
+
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionHazardInformEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionUserEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:09:04
+ * 区域巡检mapper
+ */
+@Mapper
+public interface RegionInspectionMapper {
+
+	void insert(RegionInspectionEntity regionInspectionEntity);
+
+	void delete(String id);
+
+	List<RegionInspectionEntity> selectPageList(Map map);
+
+	/**
+	 * 添加人员巡检中间表
+	 * @param regionInspectionUserEntity
+	 */
+	void insertUser(RegionInspectionUserEntity regionInspectionUserEntity);
+
+	/**
+	 * 删除人员中间表
+	 * @param regionInspectionId
+	 */
+	void deleteUser(String regionInspectionId);
+
+	/**
+	 * 新增区域巡检危险告知源中间表
+	 * @param regionInspectionHazardInformEntity
+	 */
+	void insertInspectionHazardInform(RegionInspectionHazardInformEntity regionInspectionHazardInformEntity);
+
+	/**
+	 * 删除区域巡检危险告知源中间表
+	 * @param regionInspectionId
+	 */
+	void deleteInspectionHazardInform(String regionInspectionId);
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionService.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionService.java
new file mode 100644
index 0000000..b7cb41c
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionService.java
@@ -0,0 +1,22 @@
+package com.thhy.secure.modules.biz.regionInspection.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:25:30
+ * 区域巡检接口
+ */
+public interface RegionInspectionService {
+
+	BasicResult insert(RegionInspectionEntity regionInspectionEntity);
+
+	BasicResult delete(String id);
+
+	BasicResult selectPageList(Map map);
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
new file mode 100644
index 0000000..f1e39b7
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
@@ -0,0 +1,126 @@
+package com.thhy.secure.modules.biz.regionInspection.service.impl;
+
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionHazardInformEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionUserEntity;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionMapper;
+import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-10 11:26:29
+ * 区域巡检接口实现
+ */
+@Service
+public class RegionInspectionServiceImpl implements RegionInspectionService
+{
+
+	@Autowired
+	private RegionInspectionMapper regionInspectionMapper;
+
+	private static final Object lock = new Object();
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public BasicResult insert(RegionInspectionEntity regionInspectionEntity) {
+		SysUserInfo s = UserInfoUtils.getInstance().getUserInfo();
+		String companyId = s.getCompanyId();
+		String userId = s.getUserId();
+		regionInspectionEntity.setCompanyId(companyId);
+		//默认给uuid
+		String regionInspectId = UUIDUtils.create();
+		//修改区域巡检判断
+		if (!"".equals(regionInspectionEntity.getId())){
+			regionInspectId = regionInspectionEntity.getId();
+			//根据区域巡检id删除中间表
+			regionInspectionEntity.setUpdateTime(new Date());
+			regionInspectionEntity.setUpdateUser(userId);
+			regionInspectionMapper.deleteUser(regionInspectId);
+			regionInspectionMapper.deleteInspectionHazardInform(regionInspectId);
+		}
+		//添加/修改区域巡检
+		synchronized (lock) {
+			regionInspectionEntity.setId(regionInspectId);
+			regionInspectionEntity.setCreateUser(userId);
+			regionInspectionMapper.insert(regionInspectionEntity);
+			//添加巡检人
+			for (RegionInspectionUserEntity userEntity : regionInspectionEntity.getRegionUsersList()) {
+				userEntity.setId(UUIDUtils.create());
+				userEntity.setRegionInspectionId(regionInspectId);
+				regionInspectionMapper.insertUser(userEntity);
+			}
+			//添加巡检的区域
+			for (RegionInspectionHazardInformEntity region : regionInspectionEntity.getRegionList()) {
+				region.setId(UUIDUtils.create());
+				region.setRegionInspectionId(regionInspectId);
+				regionInspectionMapper.insertInspectionHazardInform(region);
+			}
+		}
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult delete(String id) {
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult selectPageList(Map map) {
+		SysUserInfo s = UserInfoUtils.getInstance().getUserInfo();
+		String companyId = s.getCompanyId();
+		map.put("companyId",companyId);
+		int pageNum = (int) map.get("pageNum");
+		int pageSize = (int) map.get("pageSize");
+		PageHelper.startPage(pageNum,pageSize);
+		List<RegionInspectionEntity> regionInspectionEntities = regionInspectionMapper.selectPageList(map);
+		//处理区域巡检对象数组
+		regionInspectionEntities.forEach(obj->{
+			List<RegionInspectionHazardInformEntity> regionList = new ArrayList<>();
+			List<RegionInspectionUserEntity> userList = new ArrayList<>();
+			if(obj.getRealNames() !=null){
+				String[] realNames = obj.getRealNames().intern().split("、");
+				String[] userIds = obj.getUserIds().intern().split("、");
+				//人员对象数组
+				for (int i = 0; i < realNames.length; i++) {
+					RegionInspectionUserEntity userEntity = RegionInspectionUserEntity
+							.builder()
+							.regionInspectionId(obj.getId())
+							.userId(userIds[i])
+							.realName(realNames[i]).build();
+					userList.add(userEntity);
+				}
+			}
+			if (obj.getRegionIds()!=null){
+				String[] regionIds = obj.getRegionIds().intern().split(",");
+				String[] regions = obj.getRegions().intern().split(",");
+				//区域对象数组
+				for (int i = 0; i < regionIds.length; i++) {
+					RegionInspectionHazardInformEntity regionEntity = RegionInspectionHazardInformEntity
+							.builder()
+							.regionInspectionId(obj.getId())
+							.regionHazardInformId(regionIds[i])
+							.region(regions[i]).build();
+					regionList.add(regionEntity);
+				}
+			}
+			obj.setRegionList(regionList);
+			obj.setRegionUsersList(userList);
+		});
+		return BasicResult.success(new PageInfo<>(regionInspectionEntities));
+	}
+
+}

--
Gitblit v1.9.3