邱宇豪
2023-11-10 a8bb4628ba81bd63149476958eb5efe1627863c7
20231110_qiuyh_区域巡检
已添加7个文件
357 ■■■■■ 文件已修改
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionUserEntity.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionMapper.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
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;
}
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;
}
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;
}
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);
}
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);
}
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));
    }
}