jiangping
2024-01-09 d7e663d304a2ccb565a24362b116ddaa9da9941a
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.VisitEventVo;
import com.doumee.service.business.VisitEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -236,6 +237,39 @@
    @Override
    public PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap) {
        IPage<VisitEventDTO> visitEventDTOIPage = getDataInfo(pageWrap);
        if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) {
            visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords()));
        }
        return PageData.from(visitEventDTOIPage);
    }
    @Override
    public List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap) {
        IPage<VisitEventDTO> visitEventExcel = getDataInfo(pageWrap);
        List<VisitEventVo> voList = new ArrayList<>();
        if(null != visitEventExcel && visitEventExcel.getRecords().size() > 0) {
            visitEventExcel.getRecords().stream().forEach(obj->{
                VisitEventVo eventVo = new VisitEventVo();
                eventVo.setPersonName(obj.getPersonName());
                eventVo.setPersonPhone(obj.getPersonPhone());
                eventVo.setIdNo(obj.getIdNo());
                eventVo.setPersonCompanyName(obj.getPersonCompanyName());
                eventVo.setCarNo(obj.getCarNo());
                eventVo.setBeVisitedPersonName(obj.getBeVisitedPersonName()+"-"+obj.getBeVisitedPersonOrg());
                if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){
                    eventVo.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_IN.getName());
                }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()){
                    eventVo.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_OUT.getName());
                }
                eventVo.setHappenTime(obj.getHappenTime());
                voList.add(eventVo);
            });
        }
        return voList;
    }
    private IPage<VisitEventDTO> getDataInfo(PageWrap<VisitEvent> pageWrap) {
        //是否是数字
        boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords());
        //是否包含中文
@@ -247,36 +281,34 @@
        MPJLambdaWrapper<VisitEvent> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper .leftJoin(Visits.class,Visits::getHkId,VisitEvent::getVisitorId);
        queryWrapper.selectAll(VisitEvent.class)
                    .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName);
                .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName);
        queryWrapper.like(number,
                            VisitEvent::getPhone,
                            pageWrap.getModel().getKeyWords())
                    .like((b ||hasWord),
                            VisitEvent::getPersonName,
                            pageWrap.getModel().getKeyWords())
                    .like(StringUtils.isNotBlank(pageWrap.getModel().getCarNo()),
                            VisitEvent::getCarNo,
                            pageWrap.getModel().getKeyWords())
                    .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                            Company::getName,
                            pageWrap.getModel().getCompanyName())
                    .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                            VisitEvent::getEventType,
                            pageWrap.getModel().getEventType())
                    .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                            VisitEvent::getHappenTime,
                            pageWrap.getModel().getStartTime())
                    .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                            VisitEvent::getHappenTime,
                            pageWrap.getModel().getEndTime());
                VisitEvent::getPhone,
                pageWrap.getModel().getKeyWords())
                .like((b ||hasWord),
                        VisitEvent::getPersonName,
                        pageWrap.getModel().getKeyWords())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getCarNo()),
                        VisitEvent::getCarNo,
                        pageWrap.getModel().getKeyWords())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        Company::getName,
                        pageWrap.getModel().getCompanyName())
                .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                        VisitEvent::getEventType,
                        pageWrap.getModel().getEventType())
                .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                        VisitEvent::getHappenTime,
                        pageWrap.getModel().getStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                        VisitEvent::getHappenTime,
                        pageWrap.getModel().getEndTime());
        queryWrapper.orderByDesc(VisitEvent::getHappenTime);
        IPage<VisitEventDTO> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEventDTO.class, queryWrapper);
        if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) {
            visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords()));
        }
        return PageData.from(visitEventDTOIPage);
        return visitEventDTOIPage;
    }
    private List<VisitEventDTO> newVisitEvent(List<VisitEventDTO> VisitEventDTOList) {
        List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.MEMBER_IMG);
        List<SystemDictData> list = systemDictDataMapper.list(codes);