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