DgArchivesServiceImpl.java 5.09 KB
package com.pashanhoo.archive.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pashanhoo.archive.entity.DgArchivesConverter;
import com.pashanhoo.archive.entity.DgArchivesDO;
import com.pashanhoo.archive.entity.vo.AddDgArchivesRequest;
import com.pashanhoo.archive.entity.vo.DgArchivesDetailVO;
import com.pashanhoo.archive.entity.vo.UpdateDgArchivesRequest;
import com.pashanhoo.archive.entity.vo.DgArchivesSearchRequest;
import com.pashanhoo.archive.mapper.DgArchivesMapper;
import com.pashanhoo.archive.service.DgArchivesService;
import com.pashanhoo.bdcdy.entity.DgBdcdyDO;
import com.pashanhoo.bdcdy.mapper.DgBdcdyMapper;
import com.pashanhoo.bdcdy.service.DgBdcdyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import java.util.List;

/**
 * <p>
 * 案卷基本信息 服务实现类
 * </p>
 *
 * @author
 * @since 2021-11-05
 */
@Service
public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchivesDO> implements DgArchivesService {

    @Autowired
    private DgArchivesConverter dgarchivesConverter;

    @Autowired
    private DgArchivesMapper dgarchivesMapper;

    @Autowired
    private DgBdcdyService dgBdcdyService;

    @Autowired
    private DgBdcdyMapper dgBdcdyMapper;

    /**
     * 新增记录
     * @param request
     * @return
     */
    @Override
    public boolean insertDgArchives(AddDgArchivesRequest request) {
        DgArchivesDO dgarchivesDO = dgarchivesConverter.addRequest2DO(request);
        return this.save(dgarchivesDO);
    }

    /**
     * 根据主键查询记录详情
     * @param id
     * @return
     */
    @Override
    public DgArchivesDetailVO getDgArchivesDetailById(String id) {
        DgArchivesDO dgarchivesDO = this.getById(id);
        return dgarchivesConverter.do2DetailVO(dgarchivesDO);
    }

    /**
     * 修改单条记录
     * @param request
     * @return
     */
    @Override
    public boolean updateDgArchives(UpdateDgArchivesRequest request) {
        DgArchivesDO dgarchivesDO = dgarchivesConverter.updateRequest2DO(request);
        return this.updateById(dgarchivesDO);
    }

    /**
     * 根据条件进行列表查询
     * @param request
     * @return
     */
    @Override
    public Page searchDgArchivesList(DgArchivesSearchRequest request) {
        Page<DgArchivesDO> pageParam = new Page<DgArchivesDO>(request.getCurrentPage(), request.getPageSize());
        QueryWrapper<DgArchivesDO> wrapper = new QueryWrapper<>();
        //设置默认排序
        wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) :  wrapper.orderByAsc(request.getSortField());

        //增加条件
        // lt:less than 小于
        // le:less than or equal to 小于等于
        // eq:equal to 等于
        // ne:not equal to 不等于
        // ge:greater than or equal to 大于等于
        // gt:greater than 大于
        wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) :  wrapper.orderByAsc(request.getSortField());
        wrapper.eq(request.getAjbt()!=null,"AJBT",request.getAjbt());
        wrapper.eq(request.getFlh()!=null,"FLH",request.getFlh());
        wrapper.eq(request.getMlh()!=null,"MLH",request.getMlh());
        wrapper.eq(request.getAjh()!=null,"AJH",request.getAjh());
        wrapper.eq(request.getNd()!=null,"ND",request.getNd());
        wrapper.eq(request.getDazt()!=null,"DAZT",request.getDazt());
        wrapper.eq(request.getMj()!=null,"MJ",request.getMj());
        wrapper.ge(request.getQsrq()!=null,"QSRQ",request.getQsrq());
        wrapper.le(request.getZzrq()!=null,"ZZRQ",request.getZzrq());
        wrapper.eq(request.getHh()!=null,"HH",request.getHh());
        wrapper.eq(request.getCfwz()!=null,"CFWZ",request.getCfwz());
        wrapper.eq(request.getZtc()!=null,"ZTC",request.getZtc());
        Page page = this.page(pageParam, wrapper);
        //将查询出来的DO List转为 ListVO List并重新设置到page对象中,并返回page对象
        return page.setRecords(dgarchivesConverter.doList2ListVOList(page.getRecords()));
    }

    /**
     * 根据档案标识码加载左侧菜单
     *
     * @param bsmArchives 档案标识码
     * @return
     */
    @Override
    public List getArchiveLiftMenu(String bsmArchives) {
        DgArchivesDO archivesDO = this.getById(bsmArchives);
        Integer status = archivesDO.getDazt().intValue();

        /*状态判断.如果状态为:1,2,3显示为不动产单元号
          如果状态为:4,5,6,7,8显示为档案号
         */
        List<DgBdcdyDO> dgBdcdyDOS = null;
        if (status.equals(1)||status.equals(2)||status.equals(3)){
            QueryWrapper<DgBdcdyDO> bdcdyWrapper = new QueryWrapper<>();
            bdcdyWrapper.lambda().eq(DgBdcdyDO::getBsmArchives, bsmArchives);
            dgBdcdyDOS = dgBdcdyMapper.selectList(bdcdyWrapper);
            return dgBdcdyDOS;
        }
        return dgBdcdyDOS;
    }
}