jiangping
2023-12-15 e0965debdfc7149b9490d66d45c8737ca574ed21
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改17个文件
482 ■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/ParksController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/ParksJoinMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Parks.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParksServiceImpl.java 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/resources/mappers/SystemDictDataMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarsController.java
@@ -69,7 +69,7 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:cars:query")
   // @RequiresPermissions("business:cars:query")
    public ApiResponse<PageData<Cars>> findPage (@RequestBody PageWrap<Cars> pageWrap) {
        return ApiResponse.success(carsService.findPage(pageWrap));
    }
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceController.java
@@ -87,4 +87,11 @@
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(deviceService.findById(id));
    }
    @ApiOperation("获取门禁集合-提供给门禁组")
    @PostMapping("/getList")
    //@RequiresPermissions("business:device:query")
    public ApiResponse findList(@RequestBody Device device) {
        return ApiResponse.success(deviceService.findIdAndNameList(device));
    }
}
server/dmvisit_admin/src/main/java/com/doumee/api/business/ParkBookController.java
@@ -69,7 +69,7 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:parkbook:query")
   // @RequiresPermissions("business:parkbook:query")
    public ApiResponse<PageData<ParkBook>> findPage (@RequestBody PageWrap<ParkBook> pageWrap) {
        return ApiResponse.success(parkBookService.findPage(pageWrap));
    }
server/dmvisit_admin/src/main/java/com/doumee/api/business/ParksController.java
@@ -74,6 +74,13 @@
        return ApiResponse.success(parksService.findPage(pageWrap));
    }
    @ApiOperation("所属停车场列表")
    @PostMapping("/findList")
    @RequiresPermissions("business:parks:query")
    public ApiResponse<List<Parks>> findList (@RequestBody Parks parks) {
        return ApiResponse.success(parksService.findList(parks));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:parks:exportExcel")
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -70,6 +70,9 @@
    // ERP ACCESS_SECRET
    public static final String ERP_ACCESS_SECRET = "ERP_ACCESS_SECRET";
    // FTP文件服务器资源访问地址
    public static final String FTP_RESOURCE_PATH = "FTP_RESOURCE_PATH";
    public static  Date  getBirthdyByCardNo(String idCard){
    if(idCard ==null || idCard.length()<14){
        return null;
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/ParksJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Parks;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
public interface ParksJoinMapper extends MPJJoinMapper<Parks> {
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.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;
@@ -96,4 +97,29 @@
    @ExcelColumn(name="状态 0禁用 1启用")
    private Integer status;
    @ApiModelProperty(value = "停车场名称", example = "1")
    @ExcelColumn(name="停车场名称")
    @TableField(exist = false)
    private String parksName;
    @ApiModelProperty(value = "用户类型 0劳务访客 1普通访客  2内部人员", example = "1")
    @ExcelColumn(name="用户类型 0劳务访客 1普通访客  2内部人员")
    @TableField(exist = false)
    private Integer memberType;
    @ApiModelProperty(value = "姓名", example = "1")
    @ExcelColumn(name="姓名")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "手机号", example = "1")
    @ExcelColumn(name="手机号")
    @TableField(exist = false)
    private String memberPhone;
    @ApiModelProperty(value = "部门", example = "1")
    @ExcelColumn(name="部门")
    @TableField(exist = false)
    private String companyName;
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.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;
@@ -106,4 +107,30 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date hkDate;
    @ApiModelProperty(value = "停车场名称", example = "1")
    @ExcelColumn(name="停车场名称")
    @TableField(exist = false)
    private String parksName;
    @ApiModelProperty(value = "用户类型 0劳务访客 1普通访客  2内部人员", example = "1")
    @ExcelColumn(name="用户类型 0劳务访客 1普通访客  2内部人员")
    @TableField(exist = false)
    private Integer memberType;
    @ApiModelProperty(value = "姓名", example = "1")
    @ExcelColumn(name="姓名")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "手机号", example = "1")
    @ExcelColumn(name="手机号")
    @TableField(exist = false)
    private String memberPhone;
    @ApiModelProperty(value = "部门", example = "1")
    @ExcelColumn(name="部门")
    @TableField(exist = false)
    private String companyName;
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Parks.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;
@@ -99,4 +100,8 @@
    @ExcelColumn(name="状态 0禁用 1启用")
    private Integer status;
    @ApiModelProperty(value = "所属停车库", example = "1")
    @TableField(exist = false)
    private String parentName;
}
server/dmvisit_service/src/main/java/com/doumee/dao/system/SystemDictDataMapper.java
@@ -4,6 +4,7 @@
import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,4 +17,8 @@
     */
    List<SystemDictDataListVO> selectManageList(QuerySystemDictDataDTO dto);
    /**
     * æ ¹æ®Code æŸ¥è¯¢å­—典表code对应的值
     */
    List<SystemDictData> list(@Param("codes") List<String> codes);
}
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
@@ -81,6 +82,13 @@
    List<Device> findList(Device device);
  
    /**
     * æ ¹æ®æ¡ä»¶æŸ¥è¯¢,所有门禁的ID和名称
     * @param device
     * @return
     */
    List<Device> findIdAndNameList(Device device);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -10,6 +10,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.CarsQuery;
import com.doumee.dao.admin.response.CarsDTO;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.CarsMapper;
import com.doumee.dao.business.join.CarJoinMapper;
import com.doumee.dao.business.join.ParkBookJoinMapper;
@@ -101,73 +102,24 @@
        IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Cars> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Cars::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Cars::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Cars::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Cars::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(Cars::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Cars::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Cars::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Cars::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Cars::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getHkId() != null) {
            queryWrapper.lambda().eq(Cars::getHkId, pageWrap.getModel().getHkId());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Cars::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getCode() != null) {
            queryWrapper.lambda().eq(Cars::getCode, pageWrap.getModel().getCode());
        }
        if (pageWrap.getModel().getParkId() != null) {
            queryWrapper.lambda().eq(Cars::getParkId, pageWrap.getModel().getParkId());
        }
        if (pageWrap.getModel().getHkId2() != null) {
            queryWrapper.lambda().eq(Cars::getHkId2, pageWrap.getModel().getHkId2());
        }
        if (pageWrap.getModel().getHkStatus() != null) {
            queryWrapper.lambda().eq(Cars::getHkStatus, pageWrap.getModel().getHkStatus());
        }
        if (pageWrap.getModel().getHkDate() != null) {
            queryWrapper.lambda().ge(Cars::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()));
            queryWrapper.lambda().le(Cars::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()));
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(Cars::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getMemberUserId() != null) {
            queryWrapper.lambda().eq(Cars::getMemberUserId, pageWrap.getModel().getMemberUserId());
        }
        if (pageWrap.getModel().getErpId() != null) {
            queryWrapper.lambda().eq(Cars::getErpId, pageWrap.getModel().getErpId());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Cars::getStatus, pageWrap.getModel().getStatus());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(carsMapper.selectPage(page, queryWrapper));
        MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Cars.class);
        queryWrapper.selectAs(Parks::getName,Cars::getParksName);
        queryWrapper.selectAs(Member::getType,Cars::getMemberType);
        queryWrapper.selectAs(Member::getName,Cars::getMemberName);
        queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
        queryWrapper.selectAs(Company::getName,Cars::getCompanyName);
        queryWrapper.leftJoin(Parks.class,Parks::getId,Cars::getParkId);
        queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId);
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByDesc(Cars::getCreateDate);
        IPage<Cars> result = carJoinMapper.selectJoinPage(page, Cars.class,queryWrapper);
        return PageData.from(result);
    }
    @Override
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -6,6 +6,7 @@
import cn.hutool.core.util.ReUtil;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.DeviceEventQuery;
import com.doumee.dao.admin.response.DeviceEventDTO;
@@ -14,19 +15,24 @@
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.DeviceEvent;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
import com.doumee.service.business.DeviceEventService;
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 com.sun.org.apache.xerces.internal.xs.StringList;
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;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * é—¨ç¦äº‹ä»¶æŽ¨é€è®°å½•表Service实现
@@ -42,6 +48,9 @@
    @Autowired
    private DeviceEventJoinMapper deviceEventJoinMapper;
    @Autowired
    private SystemDictDataMapper systemDictDataMapper;
    @Override
    public Integer create(DeviceEvent deviceEvent) {
@@ -322,6 +331,37 @@
                                                pageWrap.getModel().getEndTime());
        queryWrapper.orderByDesc(DeviceEvent::getHappenTime);
        IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper);
        if(null != deviceEventDTOIPage && deviceEventDTOIPage.getRecords().size() > 0) {
            deviceEventDTOIPage.setRecords(newDeviceEvent(deviceEventDTOIPage.getRecords()));
        }
        return PageData.from(deviceEventDTOIPage);
    }
    // å¯¹å›¾ç‰‡è¿›è¡Œåˆ¤æ–­å¤„理
    private List<DeviceEventDTO> newDeviceEvent(List<DeviceEventDTO> DeviceEventDTOList) {
        List<DeviceEventDTO> newDeviceEventDTOS = new ArrayList<>();
        for (DeviceEventDTO dto:DeviceEventDTOList) {
           if(StringUtils.isNotBlank(dto.getExtEventPictureURL())) {
               String extEventPictureURL = dto.getExtEventPictureURL();
               // ä½¿ç”¨split("/")将URL按照"/"进行分割成多个部分
               String[] parts = extEventPictureURL.split("\\\\");
               String newStr = parts[0];
               boolean number = Validator.isNumber(newStr);
               if(number) {
                   List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.DEVICE_EVENT_IMG);
                   List<SystemDictData> list = systemDictDataMapper.list(codes);
                   if(null != list && list.size() > 0) {
                       Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
                       dto.setExtEventPictureURL(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                                                 +dataMap.get(Constants.DEVICE_EVENT_IMG).getCode()
                                                 +dto.getExtEventPictureURL());
                   }
               }else {
                   dto.setExtEventPictureURL(null);
               }
           }
            newDeviceEventDTOS.add(dto);
        }
        return newDeviceEventDTOS;
    }
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -56,7 +56,7 @@
                .eq(DeviceRole::getStatus,Constants.ONE);
        List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query);
        if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"同一个用户类型,只能有一个默认角色");
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"管理内部员工只能有一个默认门禁组");
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
@@ -113,7 +113,7 @@
                .eq(DeviceRole::getStatus,Constants.ONE);
        List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query);
        if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"同一个用户类型,只能有一个默认角色");
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"管理内部员工只能有一个默认门禁组");
        }
        deviceRole.setIsDefault(Constants.equalsInteger(Constants.ONE,deviceRole.getStatus()) ? 0 : 1);
        deviceRoleMapper.updateById(deviceRole);
@@ -128,7 +128,7 @@
                .eq(DeviceRole::getStatus,Constants.ONE);
        List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query);
        if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"同一个用户类型,只能有一个默认角色");
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"管理内部员工只能有一个默认门禁组");
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        DeviceRole update = new DeviceRole();
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
@@ -13,7 +14,9 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.DeviceMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.Retention;
import com.doumee.service.business.DeviceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -28,6 +31,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * è®¾å¤‡ä¿¡æ¯è¡¨Service实现
@@ -99,6 +103,18 @@
    }
  
    @Override
    public List<Device> findIdAndNameList(Device param) {
        LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>(param);
        wrapper.select(Device::getId, Device::getName);
        if(null != param.getType() && null != param.getIsdeleted() && null != param.getHkStatus()) {
            wrapper.eq(Device::getType,param.getType())
                   .eq(Device::getIsdeleted,param.getIsdeleted())
                   .eq(Device::getHkStatus,param.getHkStatus());
        }
        return deviceMapper.selectList(wrapper);
    }
    @Override
    public PageData<Device> findPage(PageWrap<Device> pageWrap) {
        IPage<Device> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java
@@ -2,14 +2,18 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ParkBookMapper;
import com.doumee.dao.business.model.ParkBook;
import com.doumee.dao.business.join.ParkBookJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.ParkBookService;
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;
@@ -26,6 +30,11 @@
    @Autowired
    private ParkBookMapper parkBookMapper;
    @Autowired
    private ParkBookJoinMapper parkBookJoinMapper;
    @Override
    public Integer create(ParkBook parkBook) {
@@ -87,81 +96,28 @@
    @Override
    public PageData<ParkBook> findPage(PageWrap<ParkBook> pageWrap) {
        IPage<ParkBook> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<ParkBook> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(ParkBook::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(ParkBook::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(ParkBook::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(ParkBook::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(ParkBook::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(ParkBook::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(ParkBook::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(ParkBook::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(ParkBook::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getHkId() != null) {
            queryWrapper.lambda().eq(ParkBook::getHkId, pageWrap.getModel().getHkId());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(ParkBook::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getVisitId() != null) {
            queryWrapper.lambda().eq(ParkBook::getVisitId, pageWrap.getModel().getVisitId());
        }
        if (pageWrap.getModel().getCarCode() != null) {
            queryWrapper.lambda().eq(ParkBook::getCarCode, pageWrap.getModel().getCarCode());
        }
        if (pageWrap.getModel().getParkId() != null) {
            queryWrapper.lambda().eq(ParkBook::getParkId, pageWrap.getModel().getParkId());
        }
        if (pageWrap.getModel().getOrigin() != null) {
            queryWrapper.lambda().eq(ParkBook::getOrigin, pageWrap.getModel().getOrigin());
        }
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().ge(ParkBook::getStartTime, Utils.Date.getStart(pageWrap.getModel().getStartTime()));
            queryWrapper.lambda().le(ParkBook::getStartTime, Utils.Date.getEnd(pageWrap.getModel().getStartTime()));
        }
        if (pageWrap.getModel().getEndTime() != null) {
            queryWrapper.lambda().ge(ParkBook::getEndTime, Utils.Date.getStart(pageWrap.getModel().getEndTime()));
            queryWrapper.lambda().le(ParkBook::getEndTime, Utils.Date.getEnd(pageWrap.getModel().getEndTime()));
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(ParkBook::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getTimeType() != null) {
            queryWrapper.lambda().eq(ParkBook::getTimeType, pageWrap.getModel().getTimeType());
        }
        if (pageWrap.getModel().getHkId2() != null) {
            queryWrapper.lambda().eq(ParkBook::getHkId2, pageWrap.getModel().getHkId2());
        }
        if (pageWrap.getModel().getHkStatus() != null) {
            queryWrapper.lambda().eq(ParkBook::getHkStatus, pageWrap.getModel().getHkStatus());
        }
        if (pageWrap.getModel().getHkDate() != null) {
            queryWrapper.lambda().ge(ParkBook::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()));
            queryWrapper.lambda().le(ParkBook::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()));
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(parkBookMapper.selectPage(page, queryWrapper));
        MPJLambdaWrapper<ParkBook> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Cars.class);
        queryWrapper.selectAs(Parks::getName,Cars::getParksName);
        queryWrapper.selectAs(Member::getType,Cars::getMemberType);
        queryWrapper.selectAs(Member::getName,Cars::getMemberName);
        queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
        queryWrapper.selectAs(Company::getName,Cars::getCompanyName);
        queryWrapper.leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
        queryWrapper.leftJoin(Member.class,Member::getId,ParkBook::getMemberId);
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.eq(ParkBook::getIsdeleted, Constants.ZERO)
          .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getPhone,pageWrap.getModel().getMemberName())
                .or().like(Member::getName,pageWrap.getModel().getMemberName()));
        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCarCode()),ParkBook::getCarCode,pageWrap.getModel().getCarCode());
        queryWrapper.orderByDesc(ParkBook::getCreateDate);
        IPage<ParkBook> result = parkBookJoinMapper.selectJoinPage(page, ParkBook.class,queryWrapper);
        return PageData.from(result);
    }
    @Override
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParksServiceImpl.java
@@ -2,19 +2,26 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.ParksMapper;
import com.doumee.dao.business.join.ParksJoinMapper;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Parks;
import com.doumee.service.business.ParksService;
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 +33,10 @@
    @Autowired
    private ParksMapper parksMapper;
    @Autowired
    private ParksJoinMapper parksJoinMapper;
    @Override
    public Integer create(Parks parks) {
@@ -80,83 +91,29 @@
    @Override
    public List<Parks> findList(Parks parks) {
        QueryWrapper<Parks> wrapper = new QueryWrapper<>(parks);
        return parksMapper.selectList(wrapper);
        MPJLambdaWrapper<Parks> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.isNull(Parks::getParentHkId);
        queryWrapper.eq(Parks::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByDesc(Parks::getCreateDate);
        return parksMapper.selectList(queryWrapper);
    }
  
    @Override
    public PageData<Parks> findPage(PageWrap<Parks> pageWrap) {
        IPage<Parks> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Parks> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Parks::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Parks::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Parks::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Parks::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(Parks::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Parks::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Parks::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Parks::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Parks::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Parks::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getHkId() != null) {
            queryWrapper.lambda().eq(Parks::getHkId, pageWrap.getModel().getHkId());
        }
        if (pageWrap.getModel().getHkStatus() != null) {
            queryWrapper.lambda().eq(Parks::getHkStatus, pageWrap.getModel().getHkStatus());
        }
        if (pageWrap.getModel().getHkDate() != null) {
            queryWrapper.lambda().ge(Parks::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()));
            queryWrapper.lambda().le(Parks::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()));
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Parks::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getParkCreateDate() != null) {
            queryWrapper.lambda().ge(Parks::getParkCreateDate, Utils.Date.getStart(pageWrap.getModel().getParkCreateDate()));
            queryWrapper.lambda().le(Parks::getParkCreateDate, Utils.Date.getEnd(pageWrap.getModel().getParkCreateDate()));
        }
        if (pageWrap.getModel().getParentHkId() != null) {
            queryWrapper.lambda().eq(Parks::getParentHkId, pageWrap.getModel().getParentHkId());
        }
        if (pageWrap.getModel().getParkEditDate() != null) {
            queryWrapper.lambda().ge(Parks::getParkEditDate, Utils.Date.getStart(pageWrap.getModel().getParkEditDate()));
            queryWrapper.lambda().le(Parks::getParkEditDate, Utils.Date.getEnd(pageWrap.getModel().getParkEditDate()));
        }
        if (pageWrap.getModel().getErpStatus() != null) {
            queryWrapper.lambda().eq(Parks::getErpStatus, pageWrap.getModel().getErpStatus());
        }
        if (pageWrap.getModel().getErpDate() != null) {
            queryWrapper.lambda().ge(Parks::getErpDate, Utils.Date.getStart(pageWrap.getModel().getErpDate()));
            queryWrapper.lambda().le(Parks::getErpDate, Utils.Date.getEnd(pageWrap.getModel().getErpDate()));
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Parks::getStatus, pageWrap.getModel().getStatus());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(parksMapper.selectPage(page, queryWrapper));
        MPJLambdaWrapper<Parks> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Parks.class);
        queryWrapper.select(" p.name as parentName");
        queryWrapper.leftJoin(" parks p on p.id=t.PARENT_HK_ID");
        queryWrapper.isNotNull(Parks::getParentHkId);
        queryWrapper.eq(Parks::getIsdeleted, Constants.ZERO);
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Parks::getName,pageWrap.getModel().getName());
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getParentHkId()),Parks::getName,pageWrap.getModel().getParentHkId());
        queryWrapper.orderByDesc(Parks::getCreateDate);
        IPage<Parks> result = parksJoinMapper.selectJoinPage(page, Parks.class,queryWrapper);
        return PageData.from(result);
    }
    @Override
server/dmvisit_service/src/main/resources/mappers/SystemDictDataMapper.xml
@@ -29,5 +29,19 @@
      </if>
    </where>
  </select>
  <select id="list" resultType="com.doumee.dao.system.vo.SystemDictDataListVO">
    SELECT
      dict_data.`ID`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`
    FROM SYSTEM_DICT_DATA dict_data
    <where>
      dict_data.DELETED = 0
      <if test="codes != null and codes.size > 0">
        AND dict_data.`LABEL` in
        <foreach collection="codes" index="index" item="code" open="(" separator="," close=")">
          #{code}
        </foreach>
      </if>
    </where>
  </select>
</mapper>