| | |
| | | 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业务层处理 |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 查询项目 |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public int insertProject(Project project) { |
| | | project.setCreateTime(DateUtils.getNowDate()); |
| | | if(StringUtils.isEmpty(project.getIds())){ |
| | | project.setIds(IdGenerate.nextId()); |
| | | } |
| | | return projectMapper.insertProject(project); |
| | | } |
| | | |
| | |
| | | @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; |
| | | } |
| | | } |