jiaosong
2023-12-07 d326a61865ab19e364934b8d2e1a6a207132620b
#答题日志数据转换 字段映射修改
已添加5个文件
已修改10个文件
287 ■■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/ParkBookJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/RetentionJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/CarsService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/RetentionService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/TrainTimeService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/TrainTimeServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -35,6 +35,8 @@
    public static final String MDJ_LW_REQUIRED = "MDJ_LW_REQUIRED";
    public static final String MDJ_VISIT_REQUIRED = "MDJ_VISIT_REQUIRED";
    public static final String EDS_PWD ="!@#$%^&QWERTY" ;
    public static final String ROOT_PATH = "";
    public static final String FILE_DIR = "";
    public static  Date  getBirthdyByCardNo(String idCard){
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsQuery.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.doumee.dao.admin.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author T14
 */
@Data
@ApiModel("长期车查询")
public class CarsQuery {
    @ApiModelProperty(value = "关键字")
    private String keyWords;
    @ApiModelProperty(value = "公司名称")
    private String companyName;
    @ApiModelProperty(value = "车牌号")
    private String carNo;
}
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.doumee.dao.admin.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
@ApiModel("实时在场人员查询")
public class RetentionQuery {
    @ApiModelProperty(value = "姓名/手机号")
    private String keyWords;
    @ApiModelProperty(value = "公司/部门名称")
    private String companyName;
    @ApiModelProperty(value = "人员类型")
    private Integer type;
    @ApiModelProperty(value = "开始时间")
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
}
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.doumee.dao.admin.response;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
public class CarsDTO {
    @ApiModelProperty(value = "车牌号")
    @ExcelColumn(name="车牌号")
    private String code;
    @ApiModelProperty(value = "车库编码(关联parks)")
    @ExcelColumn(name="车库编码(关联parks)")
    private Integer parkId;
    @ApiModelProperty(value = "车库名称")
    @ExcelColumn(name="车库名称")
    private Integer parkName;
    @ApiModelProperty(value = "归属人编码")
    @ExcelColumn(name="归属人编码")
    private Integer memberId;
    @ApiModelProperty(value = "归属人编码")
    @ExcelColumn(name="归属人名称")
    private String memberName;
    @ApiModelProperty(value = "归属人编码")
    @ExcelColumn(name="归属人类型")
    private Integer memberType;
    @ApiModelProperty(value = "归属人编码")
    @ExcelColumn(name="归属人所在部门")
    private String companyName;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "时间类型 0长期有效 1时间段")
    @ExcelColumn(name="时间类型 0长期有效 1时间段")
    private Integer timeType;
    @ApiModelProperty(value = "开始时间")
    @ExcelColumn(name="开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    @ExcelColumn(name="结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    private Date createDate;
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/ParkBookJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.ParkBook;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
/**
 * @author T14
 */
@Repository
public interface ParkBookJoinMapper extends MPJJoinMapper<ParkBook> {
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/RetentionJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.Retention;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
/**
 * @author T14
 */
@Repository
public interface RetentionJoinMapper extends MPJJoinMapper<Retention> {
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -21,11 +22,11 @@
public class Retention {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ApiModelProperty(value = "主键")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ApiModelProperty(value = "创建人编码")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
@@ -34,7 +35,7 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ApiModelProperty(value = "更新人编码")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
@@ -43,7 +44,7 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ApiModelProperty(value = "是否删除0否 1是")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
@@ -51,7 +52,7 @@
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "所属组织编码(关联company表)", example = "1")
    @ApiModelProperty(value = "所属组织编码(关联company表)")
    @ExcelColumn(name="所属组织编码(关联company表)")
    private Integer companyId;
@@ -63,7 +64,7 @@
    @ExcelColumn(name="健康码")
    private String imgurl;
    @ApiModelProperty(value = "类型 0劳务访客 1普通访客 2内部员工", example = "1")
    @ApiModelProperty(value = "类型 0劳务访客 1普通访客 2内部员工")
    @ExcelColumn(name="类型 0劳务访客 1普通访客 2内部员工")
    private Integer type;
@@ -101,7 +102,7 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date eventDate;
    @ApiModelProperty(value = "访客ID(关联member)", example = "1")
    @ApiModelProperty(value = "访客ID(关联member)")
    @ExcelColumn(name="访客ID(关联member)")
    private Integer memberId;
@@ -109,4 +110,18 @@
    @ExcelColumn(name="事件类型码")
    private String eventCode;
    @ApiModelProperty(value = "公司组织")
    @ExcelColumn(name="公司组织")
    @TableField(exist = false)
    public String companyName;
    @ApiModelProperty(value = "访客用户类型")
    @ExcelColumn(name="访客用户类型")
    @TableField(exist = false)
    private Integer memberType;
    @ApiModelProperty(value = "门禁名称")
    @ExcelColumn(name="门禁名称")
    @TableField(exist = false)
    private String srcName;
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -163,4 +163,8 @@
    @ExcelColumn(name="被访问人所属组织id")
    private String beVisitedPersonOrgId;
    @ApiModelProperty(value = "被访问人所属组织id")
    @ExcelColumn(name="被访问人所属组织id")
    private String idcardDecode;
}
server/dmvisit_service/src/main/java/com/doumee/service/business/CarsService.java
@@ -2,6 +2,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.request.CarsQuery;
import com.doumee.dao.admin.response.CarsDTO;
import com.doumee.dao.business.model.Cars;
import java.util.List;
@@ -94,4 +96,11 @@
     * @return long
     */
    long count(Cars cars);
    /**
     * é•¿æœŸè½¦æŸ¥è¯¢
     * @param pageWrap
     * @return
     */
    PageData<CarsDTO> findCarPage(PageWrap<CarsQuery> pageWrap);
}
server/dmvisit_service/src/main/java/com/doumee/service/business/RetentionService.java
@@ -2,7 +2,10 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.request.RetentionQuery;
import com.doumee.dao.business.model.Retention;
import com.doumee.dao.business.model.TrainTime;
import java.util.List;
/**
@@ -94,4 +97,7 @@
     * @return long
     */
    long count(Retention retention);
    PageData<Retention> findTrainTimePage(PageWrap<RetentionQuery> pageWrap);
}
server/dmvisit_service/src/main/java/com/doumee/service/business/TrainTimeService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.request.RetentionQuery;
import com.doumee.dao.business.model.TrainTime;
import java.util.List;
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -3,13 +3,17 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.CarsQuery;
import com.doumee.dao.admin.response.CarsDTO;
import com.doumee.dao.business.CarsMapper;
import com.doumee.dao.business.model.Cars;
import com.doumee.dao.business.join.ParkBookJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.CarsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -26,6 +30,9 @@
    @Autowired
    private CarsMapper carsMapper;
    @Autowired
    private ParkBookJoinMapper parkBookJoinMapper;
    @Override
    public Integer create(Cars cars) {
@@ -161,4 +168,30 @@
        QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars);
        return carsMapper.selectCount(wrapper);
    }
    @Override
    public PageData<CarsDTO> findCarPage(PageWrap<CarsQuery> pageWrap) {
        MPJLambdaWrapper<ParkBook> wrapper = new MPJLambdaWrapper<>();
        IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        Utils.MP.blankToNull(pageWrap.getModel());
        wrapper.leftJoin(Member.class,Member::getId,ParkBook::getMemberId)
                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
        wrapper.selectAs(ParkBook::getCarCode,CarsDTO::getCode)
                .selectAs(ParkBook::getParkId,CarsDTO::getParkId)
                .selectAs(ParkBook::getRemark,CarsDTO::getRemark)
                .selectAs(Parks::getName,CarsDTO::getParkName)
                .selectAs(ParkBook::getMemberId,CarsDTO::getMemberId)
                .selectAs(Member::getName,CarsDTO::getMemberName)
                .selectAs(Member::getType,CarsDTO::getMemberType)
                .selectAs(Company::getName,CarsDTO::getCompanyName)
                .selectAs(ParkBook::getTimeType,CarsDTO::getTimeType)
                .selectAs(ParkBook::getStartTime,CarsDTO::getStartTime)
                .selectAs(ParkBook::getEndTime,CarsDTO::getEndTime)
                .selectAs(ParkBook::getCreateDate,CarsDTO::getCreateDate);
        wrapper.orderByDesc(ParkBook::getCreateDate);
        IPage<CarsDTO> carsDTOIPage = parkBookJoinMapper.selectJoinPage(page, CarsDTO.class, wrapper);
        return PageData.from(carsDTOIPage);
    }
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -1,20 +1,28 @@
package com.doumee.service.business.impl;
import cn.hutool.core.lang.PatternPool;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ReUtil;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.RetentionQuery;
import com.doumee.dao.business.RetentionMapper;
import com.doumee.dao.business.model.Retention;
import com.doumee.dao.business.join.RetentionJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.RetentionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * åœ¨åŽ‚äººå‘˜ä¿¡æ¯ è¡¨ï¼ˆæ»žç•™ï¼‰Service实现
@@ -26,6 +34,10 @@
    @Autowired
    private RetentionMapper retentionMapper;
    @Autowired
    private RetentionJoinMapper retentionJoinMapper;
    @Override
    public Integer create(Retention retention) {
@@ -171,4 +183,43 @@
        QueryWrapper<Retention> wrapper = new QueryWrapper<>(retention);
        return retentionMapper.selectCount(wrapper);
    }
    @Override
    public PageData<Retention> findTrainTimePage(PageWrap<RetentionQuery> pageWrap) {
        //是否是数字
        boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords());
        //是否包含中文
        boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords());
        //是否包含英文
        boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords());
        IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId)
                    .leftJoin(Member.class,Member::getId,Retention::getMemberId)
                    .leftJoin(DeviceEvent.class,DeviceEvent::getEventId,Retention::getEventCode);
        queryWrapper.selectAll(Retention.class)
                    .selectAs(Company::getName,Retention::getCompanyName)
                    .selectAs(Member::getType,Retention::getMemberType)
                    .selectAs(DeviceEvent::getSrcName,Retention::getSrcName);
        queryWrapper.like(number,Member::getPhone,pageWrap.getModel().getKeyWords())
                    .like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords())
                    .eq(Objects.nonNull(pageWrap.getModel().getType()),
                            Member::getType,
                            pageWrap.getModel().getType())
                    .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                            Company::getName,
                            pageWrap.getModel().getCompanyName())
                    .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                            Retention::getEventDate,
                            Utils.Date.getStart(pageWrap.getModel().getStartTime()))
                    .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                            Retention::getEventDate,
                            Utils.Date.getDayEnd(pageWrap.getModel().getEndTime()));
        queryWrapper.orderByDesc(Retention::getCreateDate);
        IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper);
        return PageData.from(retentionIPage);
    }
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/TrainTimeServiceImpl.java
@@ -27,6 +27,8 @@
    @Autowired
    private TrainTimeMapper trainTimeMapper;
    @Override
    public Integer create(TrainTime trainTime) {
        trainTimeMapper.insert(trainTime);
@@ -142,4 +144,6 @@
        QueryWrapper<TrainTime> wrapper = new QueryWrapper<>(trainTime);
        return trainTimeMapper.selectCount(wrapper);
    }
}