k94314517
2024-10-12 91bd57ddeb24e9b9e433f52bd20849643c977015
代码初始化
已添加5个文件
已修改8个文件
668 ■■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.InoutDayCount;
import com.doumee.service.business.InoutDayCountService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/12 16:19
 */
@Api(tags = "出入场人次车次每日统计表")
@RestController
@RequestMapping("/business/inoutDayCount")
public class InoutDayCountController extends BaseController {
    @Autowired
    private InoutDayCountService inoutDayCountService;
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:inoutdaycount:create")
    public ApiResponse create(@RequestBody InoutDayCount inoutDayCount) {
        return ApiResponse.success(inoutDayCountService.create(inoutDayCount));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:inoutdaycount:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        inoutDayCountService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("business:inoutdaycount:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
        for (String id : idArray) {
            idList.add(Integer.valueOf(id));
        }
        inoutDayCountService.deleteByIdInBatch(idList);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("business:inoutdaycount:update")
    public ApiResponse updateById(@RequestBody InoutDayCount inoutDayCount) {
        inoutDayCountService.updateById(inoutDayCount);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:inoutdaycount:query")
    public ApiResponse<PageData<InoutDayCount>> findPage (@RequestBody PageWrap<InoutDayCount> pageWrap) {
        return ApiResponse.success(inoutDayCountService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:inoutdaycount:exportExcel")
    public void exportExcel (@RequestBody PageWrap<InoutDayCount> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(InoutDayCount.class).export(inoutDayCountService.findPage(pageWrap).getRecords(), "出入场人次车次每日统计表", response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:inoutdaycount:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(inoutDayCountService.findById(id));
    }
}
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -8,6 +8,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.system.dto.NoticesDTO;
@@ -100,6 +101,7 @@
        return ApiResponse.success("查询成功",approveService.getHomeDataPC(noticesDTO));
    }
    @ApiOperation("任务中心分页")
    @PostMapping("/taskPage")
    public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
@@ -107,6 +109,8 @@
        pageWrap.getModel().setMemberId(loginUserInfo.getMemberId());
        return ApiResponse.success(noticesService.taskCanterPage(pageWrap));
    }
    @ApiOperation("标记已读")
    @GetMapping("/signRead")
@@ -123,4 +127,15 @@
        }
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("PC工作台")
    @GetMapping("/pCWorkPlatformData")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "查询类型:1=在园人数;2=报表数据;3=待办事项;4=超时预警", required = true),
    })
    public ApiResponse<PCWorkPlatformDataVO> pCWorkPlatformData (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(queryType,getLoginUser(token));
        return ApiResponse.success("查询成功",pcWorkPlatformDataVO);
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
@@ -17,10 +17,10 @@
@ApiModel("工作台相关方数据")
public class InterestedListVO {
    @ApiModelProperty(value = "人数")
    private Long userNum;
    @ApiModelProperty(value = "数量")
    private Long num;
    @ApiModelProperty(value = "名称")
    private String interestedName;
    private String name;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
@@ -1,5 +1,7 @@
package com.doumee.dao.admin.response;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.system.model.Notices;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -20,12 +22,11 @@
    @ApiModelProperty(value = "今日在园人数")
    private Long todayInParkUserNum;
    @ApiModelProperty(value = "今日入园人数")
    @ApiModelProperty(value = "今日入园人次")
    private Long todayInUserNum;
    @ApiModelProperty(value = "今日离园人数")
    @ApiModelProperty(value = "今日离园人次")
    private Long todayOutUserNum;
    @ApiModelProperty(value = "在园访客人数")
    private Long inParkVisitUserNum;
@@ -36,16 +37,14 @@
    @ApiModelProperty(value = "签离人次")
    private Long signLevelNum;
    @ApiModelProperty(value = "在园长期相关方人数")
    private Long inParkLwUserNum;
    @ApiModelProperty(value = "入园人次")
    @ApiModelProperty(value = "相关方入园人次")
    private Long lwUserInNum;
    @ApiModelProperty(value = "出园人次")
    @ApiModelProperty(value = "相关方出园人次")
    private Long lwUserOutNum;
    @ApiModelProperty(value = "今日在园车辆")
    private Long todayInParkCarNum;
@@ -56,33 +55,25 @@
    @ApiModelProperty(value = "出园车次")
    private Long todayOutCarNum;
    @ApiModelProperty(value = "相关方数据")
    private List<InterestedListVO> interestedListVOList;
    @ApiModelProperty(value = "长期相关方相关方分布 top 5")
    private List<InterestedListVO> lwList;
    @ApiModelProperty(value = "近七日访客统计")
    private List<InterestedListVO> weekVisitList;
    @ApiModelProperty(value = "近七日车辆统计")
    private List<InterestedListVO> weekCarList;
    @ApiModelProperty(value = "访客人员")
    private Long visitorCount;
    @ApiModelProperty(value = "待办事项数量")
    private Integer noticesNum;
    @ApiModelProperty(value = "劳务人员")
    private Long lwCount;
    @ApiModelProperty(value = "待办事项")
    private List<Notices> noticesList;
    @ApiModelProperty(value = "在场车辆")
    private Long presenceCarCount;
    @ApiModelProperty(value = "超时预警数量")
    private Integer timeOutVisitNum;
    @ApiModelProperty(value = "预约车辆")
    private Long visitorCarCount;
    @ApiModelProperty(value = "长期车辆")
    private Long longCarCount;
    @ApiModelProperty(value = "供应商数量")
    private Long supplierCount;
    @ApiModelProperty(value = "劳务公司人员数")
    private List<Map<String,Object>> companyUsers;
    @ApiModelProperty(value = "滞留人员数据")
    private List<Map<String,Object>> retentionUsers;
    @ApiModelProperty(value = "访客超时数据")
    private List<Visits> timeOutVisitList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.InoutDayCount;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/12 16:19
 */
public interface InoutDayCountMapper extends BaseMapper<InoutDayCount> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Retention;
import com.github.yulichang.base.MPJBaseMapper;
import java.util.List;
@@ -9,5 +10,5 @@
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
public interface RetentionMapper extends BaseMapper<Retention> {
public interface RetentionMapper extends MPJBaseMapper<Retention> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,107 @@
package com.doumee.dao.business.model;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
 * å‡ºå…¥åœºäººæ¬¡è½¦æ¬¡æ¯æ—¥ç»Ÿè®¡è¡¨
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/12 16:19
 */
@Data
@ApiModel("出入场人次车次每日统计表")
@TableName("`inout_day_count`")
public class InoutDayCount {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
    @ApiModelProperty(value = "统计日期(2024-10-12 00:00:00)")
    @ExcelColumn(name="统计日期(2024-10-12 00:00:00)")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date timeInfo;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "入园总人次", example = "1")
    @ExcelColumn(name="入园总人次")
    private Integer inMemberNum;
    @ApiModelProperty(value = "出园总人次", example = "1")
    @ExcelColumn(name="出园总人次")
    private Integer outMemberNum;
    @ApiModelProperty(value = "访客入园人次", example = "1")
    @ExcelColumn(name="访客入园人次")
    private Integer inVisitorNum;
    @ApiModelProperty(value = "访客出园人次", example = "1")
    @ExcelColumn(name="访客出园人次")
    private Integer outVisitorNum;
    @ApiModelProperty(value = "访客登记人次", example = "1")
    @ExcelColumn(name="访客登记人次")
    private Integer singinVisitorNum;
    @ApiModelProperty(value = "访客签离人次", example = "1")
    @ExcelColumn(name="访客签离人次")
    private Integer leaveVisitorNum;
    @ApiModelProperty(value = "相关方入园人次", example = "1")
    @ExcelColumn(name="相关方入园人次")
    private Integer inOrtherMemberNum;
    @ApiModelProperty(value = "相关方出园人次", example = "1")
    @ExcelColumn(name="相关方出园人次")
    private Integer outOrtherMemberNum;
    @ApiModelProperty(value = "内部人员入园人次", example = "1")
    @ExcelColumn(name="内部人员入园人次")
    private Integer inSelfMemberNum;
    @ApiModelProperty(value = "内部人员出园人次", example = "1")
    @ExcelColumn(name="内部人员出园人次")
    private Integer outSelfMemberNum;
    @ApiModelProperty(value = "入园车次", example = "1")
    @ExcelColumn(name="入园车次")
    private Integer inCarNum;
    @ApiModelProperty(value = "出园车次", example = "1")
    @ExcelColumn(name="出园车次")
    private Integer outCarNum;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -137,7 +137,6 @@
    @ApiModelProperty(value = "通知入园等待时间")
    @ExcelColumn(name="通知入园等待时间")
    private Date inwaitDate;
    @ApiModelProperty(value = "通知入园等待操作人编码", example = "1")
@@ -147,8 +146,6 @@
    @ApiModelProperty(value = "叫号时间")
    @ExcelColumn(name="叫号时间")
    private Date callDate;
    @ApiModelProperty(value = "叫号人编码", example = "1")
@@ -197,7 +194,6 @@
    @ApiModelProperty(value = "车辆离厂时间")
    @ExcelColumn(name="车辆离厂时间")
    private Date outDate;
    @ApiModelProperty(value = "离厂方式 0自动离厂 1手动离场", example = "1")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -116,6 +116,10 @@
    @TableField(exist = false)
    private String keyWords;
    @ApiModelProperty(value = "类型 0劳务公司 1内部组织")
    @TableField(exist = false)
    private Integer companyType;
    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
    private Date startTime;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.InoutDayCount;
import java.util.List;
/**
 * å‡ºå…¥åœºäººæ¬¡è½¦æ¬¡æ¯æ—¥ç»Ÿè®¡è¡¨Service定义
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/12 16:19
 */
public interface InoutDayCountService {
    /**
     * åˆ›å»º
     *
     * @param inoutDayCount å®žä½“对象
     * @return Integer
     */
    Integer create(InoutDayCount inoutDayCount);
    /**
     * ä¸»é”®åˆ é™¤
     *
     * @param id ä¸»é”®
     */
    void deleteById(Integer id);
    /**
     * åˆ é™¤
     *
     * @param inoutDayCount å®žä½“对象
     */
    void delete(InoutDayCount inoutDayCount);
    /**
     * æ‰¹é‡ä¸»é”®åˆ é™¤
     *
     * @param ids ä¸»é”®é›†
     */
    void deleteByIdInBatch(List<Integer> ids);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param inoutDayCount å®žä½“对象
     */
    void updateById(InoutDayCount inoutDayCount);
    /**
     * æ‰¹é‡ä¸»é”®æ›´æ–°
     *
     * @param inoutDayCounts å®žä½“集
     */
    void updateByIdInBatch(List<InoutDayCount> inoutDayCounts);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return InoutDayCount
     */
    InoutDayCount findById(Integer id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param inoutDayCount å®žä½“对象
     * @return InoutDayCount
     */
    InoutDayCount findOne(InoutDayCount inoutDayCount);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param inoutDayCount å®žä½“对象
     * @return List<InoutDayCount>
     */
    List<InoutDayCount> findList(InoutDayCount inoutDayCount);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<InoutDayCount>
     */
    PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
     * @param inoutDayCount å®žä½“对象
     * @return long
     */
    long count(InoutDayCount inoutDayCount);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -1,7 +1,9 @@
package com.doumee.service.business;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
import com.doumee.dao.business.dto.ResetPasswordDTO;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.web.reqeust.AuditApproveDTO;
@@ -143,4 +145,6 @@
    void resetPassword(ResetPasswordDTO resetPasswordDTO);
    void visitResend(Integer visitId);
    PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,170 @@
package com.doumee.service.business.impl;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.InoutDayCountMapper;
import com.doumee.dao.business.model.InoutDayCount;
import com.doumee.service.business.InoutDayCountService;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
 * å‡ºå…¥åœºäººæ¬¡è½¦æ¬¡æ¯æ—¥ç»Ÿè®¡è¡¨Service实现
 * @author æ±Ÿè¹„蹄
 * @date 2024/10/12 16:19
 */
@Service
public class InoutDayCountServiceImpl implements InoutDayCountService {
    @Autowired
    private InoutDayCountMapper inoutDayCountMapper;
    @Override
    public Integer create(InoutDayCount inoutDayCount) {
        inoutDayCountMapper.insert(inoutDayCount);
        return inoutDayCount.getId();
    }
    @Override
    public void deleteById(Integer id) {
        inoutDayCountMapper.deleteById(id);
    }
    @Override
    public void delete(InoutDayCount inoutDayCount) {
        UpdateWrapper<InoutDayCount> deleteWrapper = new UpdateWrapper<>(inoutDayCount);
        inoutDayCountMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        inoutDayCountMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(InoutDayCount inoutDayCount) {
        inoutDayCountMapper.updateById(inoutDayCount);
    }
    @Override
    public void updateByIdInBatch(List<InoutDayCount> inoutDayCounts) {
        if (CollectionUtils.isEmpty(inoutDayCounts)) {
            return;
        }
        for (InoutDayCount inoutDayCount: inoutDayCounts) {
            this.updateById(inoutDayCount);
        }
    }
    @Override
    public InoutDayCount findById(Integer id) {
        return inoutDayCountMapper.selectById(id);
    }
    @Override
    public InoutDayCount findOne(InoutDayCount inoutDayCount) {
        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
        return inoutDayCountMapper.selectOne(wrapper);
    }
    @Override
    public List<InoutDayCount> findList(InoutDayCount inoutDayCount) {
        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
        return inoutDayCountMapper.selectList(wrapper);
    }
    @Override
    public PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap) {
        IPage<InoutDayCount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<InoutDayCount> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(InoutDayCount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(InoutDayCount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(InoutDayCount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(InoutDayCount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getTimeInfo() != null) {
            queryWrapper.lambda().ge(InoutDayCount::getTimeInfo, Utils.Date.getStart(pageWrap.getModel().getTimeInfo()));
            queryWrapper.lambda().le(InoutDayCount::getTimeInfo, Utils.Date.getEnd(pageWrap.getModel().getTimeInfo()));
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getInMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getInMemberNum, pageWrap.getModel().getInMemberNum());
        }
        if (pageWrap.getModel().getOutMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getOutMemberNum, pageWrap.getModel().getOutMemberNum());
        }
        if (pageWrap.getModel().getInVisitorNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getInVisitorNum, pageWrap.getModel().getInVisitorNum());
        }
        if (pageWrap.getModel().getOutVisitorNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getOutVisitorNum, pageWrap.getModel().getOutVisitorNum());
        }
        if (pageWrap.getModel().getSinginVisitorNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getSinginVisitorNum, pageWrap.getModel().getSinginVisitorNum());
        }
        if (pageWrap.getModel().getLeaveVisitorNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getLeaveVisitorNum, pageWrap.getModel().getLeaveVisitorNum());
        }
        if (pageWrap.getModel().getInOrtherMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getInOrtherMemberNum, pageWrap.getModel().getInOrtherMemberNum());
        }
        if (pageWrap.getModel().getOutOrtherMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getOutOrtherMemberNum, pageWrap.getModel().getOutOrtherMemberNum());
        }
        if (pageWrap.getModel().getInSelfMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getInSelfMemberNum, pageWrap.getModel().getInSelfMemberNum());
        }
        if (pageWrap.getModel().getOutSelfMemberNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getOutSelfMemberNum, pageWrap.getModel().getOutSelfMemberNum());
        }
        if (pageWrap.getModel().getInCarNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getInCarNum, pageWrap.getModel().getInCarNum());
        }
        if (pageWrap.getModel().getOutCarNum() != null) {
            queryWrapper.lambda().eq(InoutDayCount::getOutCarNum, pageWrap.getModel().getOutCarNum());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(inoutDayCountMapper.selectPage(page, queryWrapper));
    }
    @Override
    public long count(InoutDayCount inoutDayCount) {
        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
        return inoutDayCountMapper.selectCount(wrapper);
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -17,6 +17,7 @@
import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -24,6 +25,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.dto.ResetPasswordDTO;
@@ -31,7 +33,10 @@
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.NoticesDTO;
import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.system.model.Notices;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.AuditApproveDTO;
import com.doumee.dao.web.reqeust.ErpVisitDTO;
@@ -108,6 +113,8 @@
    private SystemUserMapper systemUserMapper;
    @Autowired
    private ApproveService approveService;
    @Autowired
    private NoticesJoinMapper noticesJoinMapper;
    @Override
@@ -1463,4 +1470,104 @@
        systemUserBiz.resetPwd(dto);
    }
    /**
     *
     * @param queryType æŸ¥è¯¢ç±»åž‹ï¼š1=在园人数;2=报表数据;3=待办事项;4=超时预警
     * @param loginUserInfo
     * @return
     */
    @Override
    public PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo){
        PCWorkPlatformDataVO pcWorkPlatformDataVO = new PCWorkPlatformDataVO();
        if(Constants.equalsInteger(queryType,Constants.ONE)){
            List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
                    new MPJLambdaWrapper<Retention>()
                            .selectAll(Retention.class)
                            .selectAs(Company::getType,Retention::getCompanyType)
                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
            );
            //今日在园人数
            pcWorkPlatformDataVO.setTodayInParkUserNum(
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count()
            );
            pcWorkPlatformDataVO.setTodayInUserNum(0L);
            pcWorkPlatformDataVO.setTodayOutUserNum(0L);
            //在园长期相关方人数
            pcWorkPlatformDataVO.setInParkLwUserNum(
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
            );
            pcWorkPlatformDataVO.setLwUserInNum(0L);
            pcWorkPlatformDataVO.setLwUserOutNum(0L);
            //在园访客数量
            pcWorkPlatformDataVO.setInParkVisitUserNum(
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count()
            );
            pcWorkPlatformDataVO.setVisitUserNum(0L);
            pcWorkPlatformDataVO.setSignLevelNum(0L);
            //在园车辆
            pcWorkPlatformDataVO.setTodayInParkCarNum(
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
            );
            pcWorkPlatformDataVO.setTodayInCarNum(0L);
            pcWorkPlatformDataVO.setTodayOutCarNum(0L);
        }else if(Constants.equalsInteger(queryType,Constants.TWO)){
        }else if(Constants.equalsInteger(queryType,Constants.THREE)) {
            MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
            queryWrapper.selectAll(Notices.class);
            if (Objects.isNull(loginUserInfo.getMemberId())) {
                queryWrapper.eq("1", "2");
            } else {
                queryWrapper.eq(Notices::getStatus, Constants.ZERO);
                queryWrapper.eq(Notices::getSendacopy, Constants.ZERO);
                queryWrapper.eq(Notices::getParam2, Constants.ZERO);
                queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId());
            }
            queryWrapper.orderByDesc(Notices::getCreateDate);
            List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
            pcWorkPlatformDataVO.setNoticesList(noticesList);
            pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
        }else{
            String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
            MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
            queryWrapper.selectAll(Visits.class);
            queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
            queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) AS timeOut");
            queryWrapper.selectAs(Member::getType,Visits::getMemberType);
            queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
            queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
            queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
            queryWrapper.leftJoin(" member m on m.id= t.MEMBER_ID");
            queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.signin);
            queryWrapper.apply(" TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+"  ");
            queryWrapper.ne("m.type ",Constants.TWO);
            queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
            queryWrapper.orderByDesc(Visits::getEditDate);
            List<Visits> result = visitsJoinMapper.selectList(queryWrapper);
            if(result!=null&&result!=null){
                result.stream().forEach(s ->{
                    if(s.getStatus().equals(Constants.VisitStatus.signin)){
                        if(s.getTimeOut()<=Integer.valueOf(code)&&s.getTimeOut()>=0){
                            s.setOutStatus(Constants.TWO);
                        }else if(s.getTimeOut()>Constants.ZERO){
                            s.setOutStatus(Constants.ZERO);
                        }else{
                            s.setOutStatus(Constants.ONE);
                        }
                    }
                });
            }
            pcWorkPlatformDataVO.setTimeOutVisitList(result);
            pcWorkPlatformDataVO.setTimeOutVisitNum(result.size());
        }
        return pcWorkPlatformDataVO;
    }
}