地质所 沉降监测网建设项目
zmk
2024-05-15 ee09a54de9dada5461e3df972df5cdb1cdd6bd16
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java
@@ -1,26 +1,15 @@
package com.javaweb.geo.service.impl;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.javaweb.common.utils.DateUtils;
import com.javaweb.framework.util.ShiroUtils;
import com.javaweb.common.utils.IdGenerate;
import com.javaweb.common.utils.StringUtils;
import com.javaweb.geo.domain.*;
import com.javaweb.geo.mapper.*;
import com.javaweb.geo.service.*;
import com.javaweb.geo.vo.ExceptionProjectVo;
import com.javaweb.geotdp.enums.RecordType;
import com.javaweb.system.domain.SysRole;
import com.javaweb.system.domain.SysUser;
import com.javaweb.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.javaweb.common.core.text.Convert;
import org.springframework.util.ObjectUtils;
/**
 * 项目Service业务层处理
@@ -32,33 +21,6 @@
public class ProjectServiceImpl implements IProjectService {
    @Autowired
    private ProjectMapper projectMapper;
    @Autowired
    private HandleExceptionMapper handleExceptionMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
    @Autowired
    private HoleMapper holeMapper;
    @Autowired
    private HoleBiaoguanMapper holeBiaoguanMapper;
    @Autowired
    private HoleHuiciMapper holeHuiciMapper;
    @Autowired
    private HolePersonMapper holePersonMapper;
    @Autowired
    private HoleQutuMapper holeQutuMapper;
    @Autowired
    private HoleShuiweiMapper holeShuiweiMapper;
    @Autowired
    private HoleYantuMapper holeYantuMapper;
    /**
     * 查询项目
@@ -79,29 +41,7 @@
     */
    @Override
    public List<Project> selectProjectList(Project project) {
        //return projectMapper.selectProjectList(project);
        List<Project> resultList = new ArrayList<>();
        SysUser sysUser = ShiroUtils.getSysUser();
        List<SysRole> roles = sysUser.getRoles();
        if (!ObjectUtils.isEmpty(roles)) {
            LinkedHashSet<String> collect = roles.stream().map(SysRole::getRoleKey).collect(Collectors.toCollection(LinkedHashSet::new));
            // 管理员角色
            if (collect.contains(RecordType.role_admin.getId())) {
                resultList = projectMapper.selectProjectList(project);
            }
            // 普通角色
            if (collect.contains(RecordType.role_gongsi.getId())) {
                SysUser u = sysUserMapper.selectUserById(sysUser.getUserId());
                project.setCompanyId(u.getCompanyId());
                resultList = projectMapper.selectProjectList(project);
            }
        }
        return resultList;
        return projectMapper.selectProjectList(project);
    }
    /**
@@ -112,7 +52,9 @@
     */
    @Override
    public int insertProject(Project project) {
        project.setCreateTime(DateUtils.getNowDate());
        if(StringUtils.isEmpty(project.getIds())){
            project.setIds(IdGenerate.nextId());
        }
        return projectMapper.insertProject(project);
    }
@@ -147,82 +89,8 @@
    @Override
    public int deleteProjectById(String ids) {
        // 删除项目关联的钻孔数据
        String[] strings = Convert.toStrArray(ids);
        if (!ObjectUtils.isEmpty(strings)) {
            for (String projectId : strings) {
                // =======钻孔==========
                List<Hole> holes = holeMapper.selectHoleByProjectId(projectId);
                String[] holeIds = holes.stream().map(Hole::getIds).toArray(String[]::new);
                // =======标贯==========
                List<HoleBiaoguan> biaoguans = holeBiaoguanMapper.selectHoleBiaoguanByProjectId(projectId);
                String[] biaoguanIds = biaoguans.stream().map(HoleBiaoguan::getIds).toArray(String[]::new);
                // =======回次==========
                List<HoleHuici> holeHuicis = holeHuiciMapper.selectHoleHuiciByProjectId(projectId);
                String[] huiCiIds = holeHuicis.stream().map(HoleHuici::getIds).toArray(String[]::new);
                // =======人员==========
                List<HolePerson> persons = holePersonMapper.selectHolePersonByProjectId(projectId);
                String[] personIds = persons.stream().map(HolePerson::getIds).toArray(String[]::new);
                // =======取土==========
                List<HoleQutu> qutus = holeQutuMapper.selectHoleQutuByProjectId(projectId);
                String[] qutuIds = qutus.stream().map(HoleQutu::getIds).toArray(String[]::new);
                // =======水位==========
                List<HoleShuiwei> shuiweis = holeShuiweiMapper.selectHoleShuiWeiByProjectId(projectId);
                String[] shuiweiIds = shuiweis.stream().map(HoleShuiwei::getIds).toArray(String[]::new);
                // =======岩土==========
                List<HoleYantu> yantus = holeYantuMapper.selectHoleYantuByProjectId(projectId);
                String[] yantusIds = yantus.stream().map(HoleYantu::getIds).toArray(String[]::new);
                holeMapper.deleteHoleByIds(holeIds);
                holeBiaoguanMapper.deleteHoleBiaoguanByIds(biaoguanIds);
                holeHuiciMapper.deleteHoleHuiciByIds(huiCiIds);
                holePersonMapper.deleteHolePersonByIds(personIds);
                holeQutuMapper.deleteHoleQutuByIds(qutuIds);
                holeShuiweiMapper.deleteHoleShuiweiByIds(shuiweiIds);
                holeYantuMapper.deleteHoleYantuByIds(yantusIds);
            }
        }
        return projectMapper.deleteProjectById(ids);
    }
    /**
     * 查询异常项目列表
     */
    @Override
    public List<ExceptionProjectVo> proExceptionList() {
        List<Project> list = projectMapper.proExceptionList();
        List<ExceptionProjectVo> resultList = new ArrayList<>();
        ExceptionProjectVo item;
        if (ObjectUtil.isNotEmpty(list)) {
            for (Project project : list) {
                item = new ExceptionProjectVo();
                BeanUtil.copyProperties(project, item);
                List<HandleException> exceptionList = handleExceptionMapper.selectListByProjectId(project.getIds());
                String holeCodes = "", time = "";
                if (ObjectUtil.isNotEmpty(exceptionList)) {
                    holeCodes = exceptionList.stream().map(HandleException::getHoleCode).collect(Collectors.joining(",", "", ""));
                    time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, exceptionList.get(0).getMapTime()) + "~" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, exceptionList.get(exceptionList.size() - 1).getMapTime());
                }
                item.setExceptionNum(exceptionList.size());
                item.setHoleCodes(holeCodes);
                item.setTime(time);
                resultList.add(item);
            }
        }
        return resultList;
    }
}