fei
2 天以前 e899d2709f21b322232fb64778fef296233be3f0
archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -11,13 +11,17 @@
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业务层处理
@@ -37,7 +41,7 @@
    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())
@@ -53,9 +57,9 @@
//                .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);
       // lqw.orderByDesc(ArchiveRecords::isOwnData);
     //   lqw.orderByDesc(ArchiveRecords::getCreateTime);
        lqw.orderByDesc(ArchiveRecords::getCreateTime);
        if(userId==1)
            lqw.orderByDesc(ArchiveRecords::getCreateTime);
        System.out.println("ssssssssssssddd0000000000000000");
        return lqw;
@@ -69,8 +73,10 @@
    @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);
@@ -81,7 +87,7 @@
        Page<ArchiveRecords> page = new Page<>(pageNum, pageSize);
    
    // 使用自定义的分页查询方法,先连接再分页
    Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, lqw);
    Page<ArchiveRecords> pageResult = this.baseMapper.selectJoinUserPage(page, userid, lqw);
            //selectJoinUserPage(page, lqw);
@@ -92,9 +98,7 @@
      //  List<ArchiveRecords> beanRecords = list(lqw);
     //   log.info("从数据库中查到的为:{}", beanRecords);
    //    return markOwnData(familyId, fatherFaId, motherFaId, beanRecords);
        //拿到当前用户的id
        // 获取当前用户ID
        Long userid = SecurityUtils.getUserId();
        beanRecords.forEach(record ->{
            if(record.isArchiveRecordsId()!=null&&record.getUserId()==userid)
@@ -104,8 +108,9 @@
            else
                record.setOwnData(false);
        });
     //   Collections.sort(beanRecords, Comparator.comparing(ArchiveRecords::isOwnData));
        //不是管理员进行排序
       // 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"));
@@ -143,7 +148,10 @@
    @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;
@@ -162,6 +170,10 @@
        Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
        archiveRecords.setCreateTime(date);
        archiveRecords.setRecordStatus("未录入");
      //  archiveRecords
        boolean res = this.save(archiveRecords);
        if(res)
            return 1;
@@ -194,11 +206,13 @@
    @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;
    }
    /**
@@ -212,4 +226,58 @@
    {
        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();
            }
        }
    }
}