| | |
| | | package com.ruoyi.service.impl; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneId; |
| | | import java.util.*; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.utils.MapUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.domain.ArchiveRecords; |
| | | import com.ruoyi.domain.Archiverecordstouser; |
| | | import com.ruoyi.domain.vo.AnalysisResult; |
| | | import com.ruoyi.domain.vo.ArchiveInfoVo; |
| | | import com.ruoyi.mapper.ArchiveRecordsMapper; |
| | | import com.ruoyi.mapper.ArchiverecordstouserMapper; |
| | | import com.ruoyi.service.IArchiveRecordsService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | | * 档案记录Service业务层处理 |
| | |
| | | // @Autowired |
| | | // private ArchiveRecordsMapper archiveRecordsMapper; |
| | | |
| | | @Autowired |
| | | private ArchiverecordstouserMapper archiverecordstouserMapper; |
| | | |
| | | |
| | | |
| | | |
| | | private LambdaQueryWrapper<ArchiveRecords> buildCondition(ArchiveRecords archiveRecords){ |
| | | private LambdaQueryWrapper<ArchiveRecords> buildCondition(ArchiveRecords archiveRecords, Long userId){ |
| | | LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>(); |
| | | |
| | | lqw.like(!StringUtils.isEmpty(archiveRecords.getProjectName()), ArchiveRecords::getProjectName, archiveRecords.getProjectName()) |
| | |
| | | // .eq(zfProperty.getHappenTime()!=null,ZfProperty::getHappenTime,zfProperty.getHappenTime()) |
| | | // .between(zfProperty.getHappenStartTime() != null && zfProperty.getHappenEndTime() != null, ZfProperty::getHappenTime, zfProperty.getHappenStartTime(), zfProperty.getHappenEndTime()); |
| | | // lqw.orderByDesc(ZfProperty::getCreateTime); |
| | | if(userId==1) |
| | | |
| | | lqw.orderByDesc(ArchiveRecords::getCreateTime); |
| | | System.out.println("ssssssssssssddd0000000000000000"); |
| | | return lqw; |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public Long getMaxId() { |
| | | //return this. |
| | | return baseMapper.findMaxId(); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult selectDataList(ArchiveRecords archiveRecords, Integer pageNum, Integer pageSize) { |
| | | |
| | | LambdaQueryWrapper<ArchiveRecords> lqw = buildCondition(archiveRecords); |
| | | //拿到当前用户的id |
| | | // 获取当前用户ID |
| | | Long userid = SecurityUtils.getUserId(); |
| | | LambdaQueryWrapper<ArchiveRecords> lqw = buildCondition(archiveRecords, userid); |
| | | |
| | | System.out.println("-------------"); |
| | | System.out.println(pageNum); |
| | | |
| | | Page<ArchiveRecords> zfClanPage = new Page<>(pageNum, pageSize); |
| | | Page<ArchiveRecords> pageResult = page(zfClanPage, lqw); |
| | | |
| | | |
| | | |
| | | Page<ArchiveRecords> page = new Page<>(pageNum, pageSize); |
| | | |
| | | // 使用自定义的分页查询方法,先连接再分页 |
| | | Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, userid, lqw); |
| | | |
| | | |
| | | //selectJoinUserPage(page, lqw); |
| | | |
| | | |
| | | |
| | | List<ArchiveRecords> beanRecords = pageResult.getRecords();//得到查询出来的数据 |
| | | // List<ArchiveRecords> beanRecords = list(lqw); |
| | | // log.info("从数据库中查到的为:{}", beanRecords); |
| | | // return markOwnData(familyId, fatherFaId, motherFaId, beanRecords); |
| | | |
| | | |
| | | beanRecords.forEach(record ->{ |
| | | if(record.isArchiveRecordsId()!=null&&record.getUserId()==userid) |
| | | { |
| | | record.setOwnData(true); |
| | | } |
| | | else |
| | | record.setOwnData(false); |
| | | }); |
| | | //不是管理员进行排序 |
| | | // if(userid != 1) |
| | | // Collections.sort(beanRecords, Comparator.comparing(ArchiveRecords::isOwnData)); |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); |
| | | // System.out.println(data.get("data")); |
| | | // System.out.println(data.get("pageNum")); |
| | |
| | | @Override |
| | | public List<ArchiveRecords> selectArchiveRecordsList(ArchiveRecords archiveRecords) |
| | | { |
| | | LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = buildCondition(archiveRecords); |
| | | //拿到当前用户的id |
| | | // 获取当前用户ID |
| | | Long userid = SecurityUtils.getUserId(); |
| | | LambdaQueryWrapper<ArchiveRecords> lambdaQueryWrapper = buildCondition(archiveRecords,userid); |
| | | List<ArchiveRecords> beanRecords = list(lambdaQueryWrapper); |
| | | |
| | | return beanRecords; |
| | |
| | | @Override |
| | | public int insertArchiveRecords(ArchiveRecords archiveRecords) |
| | | { |
| | | LocalDateTime time = LocalDateTime.now(); |
| | | |
| | | Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant()); |
| | | archiveRecords.setCreateTime(date); |
| | | |
| | | |
| | | archiveRecords.setRecordStatus("未录入"); |
| | | // archiveRecords |
| | | boolean res = this.save(archiveRecords); |
| | | if(res) |
| | | return 1; |
| | |
| | | @Override |
| | | public int deleteArchiveRecordsByIds(Long[] ids) |
| | | { |
| | | if (this.removeByIds(Arrays.asList(ids))) { |
| | | return 1; |
| | | Long res = 0L; |
| | | for(Long id: ids) |
| | | { |
| | | this.baseMapper.updateAllInfoById(id); |
| | | |
| | | } |
| | | else |
| | | return 0; |
| | | return 1; |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public ArchiveInfoVo selectByRecordId(Long id) { |
| | | return this.baseMapper.findByRecordId(id); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult importExcel(MultipartFile file) { |
| | | ExcelUtil<ArchiveRecords> util = new ExcelUtil<>(ArchiveRecords.class); |
| | | List<ArchiveRecords> dataList = null; |
| | | try { |
| | | dataList = util.importExcel(file.getInputStream()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException("没有按照规则导入数据"); |
| | | } |
| | | |
| | | assert dataList != null; |
| | | |
| | | for (ArchiveRecords archiveRecords : dataList) { |
| | | // physcialService.mySave(physcial); |
| | | this.mySave(archiveRecords); |
| | | } |
| | | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public List<AnalysisResult> statisticAya() { |
| | | return this.baseMapper.statisticAyasis(); |
| | | } |
| | | |
| | | |
| | | public AjaxResult mySave(ArchiveRecords archiveRecords) { |
| | | |
| | | |
| | | //检查是否有重复数据插入 |
| | | LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId,archiveRecords.getRecordId()); |
| | | List<ArchiveRecords> list = list(lqw); |
| | | if (list.size() > 0) { |
| | | // throw new RuntimeException("请勿新增重复数据"); |
| | | //如果有重复数据,则根据recordId进行数据修改 |
| | | this.baseMapper.update(archiveRecords, lqw); |
| | | return AjaxResult.success(); |
| | | } |
| | | else { |
| | | if (save(archiveRecords)) { |
| | | return AjaxResult.success(); |
| | | } else { |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |