From 9978dc5082c4399f8e7e26290846a7990a5c18a8 Mon Sep 17 00:00:00 2001
From: liuleilei <234@qq.com>
Date: 星期一, 18 十二月 2023 09:16:29 +0800
Subject: [PATCH] 员工列表
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 243 ++++++++++++++++++------------------------------
1 files changed, 93 insertions(+), 150 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index c3f0a31..9b3f781 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.util.IdcardUtil;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.erp.ErpTool;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
@@ -17,19 +18,20 @@
import com.doumee.core.utils.DESUtil;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.DeviceRoleMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ProblemLogMapper;
import com.doumee.dao.business.VisitsMapper;
-import com.doumee.dao.business.model.DeviceRole;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.ProblemLog;
-import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.business.join.DeviceJoinMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.VisitsService;
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;
@@ -37,10 +39,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.DigestUtils;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* 璁垮鐢宠淇℃伅琛⊿ervice瀹炵幇
@@ -58,9 +57,15 @@
private ProblemLogMapper problemLogMapper ;
@Autowired
private MemberMapper memberMapper ;
+ @Autowired
+ private VisitsJoinMapper visitsJoinMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private DeviceJoinMapper deviceJoinMapper;
+
+
@Override
public Integer create(Visits visits) {
visitsMapper.insert(visits);
@@ -192,6 +197,8 @@
}
private String startSendErpCheck(Visits visits) {
+ //TODO ------------RK--------------
+// ErpTool.submitApprove()
return null;
}
@@ -445,7 +452,36 @@
@Override
public Visits findById(Integer id) {
- return visitsMapper.selectById(id);
+
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+
+ queryWrapper.eq(Visits::getId,id);
+ Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper);
+
+ if(result!=null){
+ if(StringUtils.isNotBlank(result.getDoors())){
+ String[] doorList=result.getDoors().split(",");
+ MPJLambdaWrapper<Device> deviceQuery = new MPJLambdaWrapper<>();
+ deviceQuery.in(Device::getId,doorList);
+ List<Device> deviceList= deviceJoinMapper.selectList(deviceQuery);
+ result.setDeviceList(deviceList);
+ }
+ }
+
+ MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>();
+ visitQuery.selectAll(Visits.class);
+ visitQuery.eq(Visits::getParentId,result.getId());
+ visitQuery.isNotNull(Visits::getParentId);
+ visitQuery.eq(Visits::getIsdeleted,Constants.ZERO);
+ List<Visits> visitsList = visitsJoinMapper.selectList(visitQuery);
+ visitsList.add(0,result);
+ result.setVisitsList(visitsList);
+ return result;
}
@Override
@@ -463,147 +499,25 @@
@Override
public PageData<Visits> findPage(PageWrap<Visits> pageWrap) {
IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<Visits> queryWrapper = new QueryWrapper<>();
- Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(Visits::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(Visits::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(Visits::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(Visits::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(Visits::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(Visits::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(Visits::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(Visits::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(Visits::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getMemberId() != null) {
- queryWrapper.lambda().eq(Visits::getMemberId, pageWrap.getModel().getMemberId());
- }
- if (pageWrap.getModel().getCompanyId() != null) {
- queryWrapper.lambda().eq(Visits::getCompanyId, pageWrap.getModel().getCompanyId());
- }
- if (pageWrap.getModel().getFaceImg() != null) {
- queryWrapper.lambda().eq(Visits::getFaceImg, pageWrap.getModel().getFaceImg());
- }
- if (pageWrap.getModel().getImgurl() != null) {
- queryWrapper.lambda().eq(Visits::getImgurl, pageWrap.getModel().getImgurl());
- }
- if (pageWrap.getModel().getType() != null) {
- queryWrapper.lambda().eq(Visits::getType, pageWrap.getModel().getType());
- }
- if (pageWrap.getModel().getName() != null) {
- queryWrapper.lambda().eq(Visits::getName, pageWrap.getModel().getName());
- }
- if (pageWrap.getModel().getBirthday() != null) {
- queryWrapper.lambda().ge(Visits::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday()));
- queryWrapper.lambda().le(Visits::getBirthday, Utils.Date.getEnd(pageWrap.getModel().getBirthday()));
- }
- if (pageWrap.getModel().getPhone() != null) {
- queryWrapper.lambda().eq(Visits::getPhone, pageWrap.getModel().getPhone());
- }
- if (pageWrap.getModel().getCompanyName() != null) {
- queryWrapper.lambda().eq(Visits::getCompanyName, pageWrap.getModel().getCompanyName());
- }
- if (pageWrap.getModel().getIdcardNo() != null) {
- queryWrapper.lambda().eq(Visits::getIdcardNo, pageWrap.getModel().getIdcardNo());
- }
- if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(Visits::getCode, pageWrap.getModel().getCode());
- }
- if (pageWrap.getModel().getClasses() != null) {
- queryWrapper.lambda().eq(Visits::getClasses, pageWrap.getModel().getClasses());
- }
- if (pageWrap.getModel().getMemberNum() != null) {
- queryWrapper.lambda().eq(Visits::getMemberNum, pageWrap.getModel().getMemberNum());
- }
- if (pageWrap.getModel().getStarttime() != null) {
- queryWrapper.lambda().ge(Visits::getStarttime, Utils.Date.getStart(pageWrap.getModel().getStarttime()));
- queryWrapper.lambda().le(Visits::getStarttime, Utils.Date.getEnd(pageWrap.getModel().getStarttime()));
- }
- if (pageWrap.getModel().getEndtime() != null) {
- queryWrapper.lambda().ge(Visits::getEndtime, Utils.Date.getStart(pageWrap.getModel().getEndtime()));
- queryWrapper.lambda().le(Visits::getEndtime, Utils.Date.getEnd(pageWrap.getModel().getEndtime()));
- }
- if (pageWrap.getModel().getReason() != null) {
- queryWrapper.lambda().eq(Visits::getReason, pageWrap.getModel().getReason());
- }
- if (pageWrap.getModel().getDoorSelect() != null) {
- queryWrapper.lambda().eq(Visits::getDoorSelect, pageWrap.getModel().getDoorSelect());
- }
- if (pageWrap.getModel().getDoors() != null) {
- queryWrapper.lambda().eq(Visits::getDoors, pageWrap.getModel().getDoors());
- }
- if (pageWrap.getModel().getReceptMemberId() != null) {
- queryWrapper.lambda().eq(Visits::getReceptMemberId, pageWrap.getModel().getReceptMemberId());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(Visits::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getCheckorId() != null) {
- queryWrapper.lambda().eq(Visits::getCheckorId, pageWrap.getModel().getCheckorId());
- }
- if (pageWrap.getModel().getCheckDate() != null) {
- queryWrapper.lambda().ge(Visits::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
- queryWrapper.lambda().le(Visits::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
- }
- if (pageWrap.getModel().getCheckInfo() != null) {
- queryWrapper.lambda().eq(Visits::getCheckInfo, pageWrap.getModel().getCheckInfo());
- }
- if (pageWrap.getModel().getEndCheckorId() != null) {
- queryWrapper.lambda().eq(Visits::getEndCheckorId, pageWrap.getModel().getEndCheckorId());
- }
- if (pageWrap.getModel().getEndCheckDate() != null) {
- queryWrapper.lambda().ge(Visits::getEndCheckDate, Utils.Date.getStart(pageWrap.getModel().getEndCheckDate()));
- queryWrapper.lambda().le(Visits::getEndCheckDate, Utils.Date.getEnd(pageWrap.getModel().getEndCheckDate()));
- }
- if (pageWrap.getModel().getEndCheckInfo() != null) {
- queryWrapper.lambda().eq(Visits::getEndCheckInfo, pageWrap.getModel().getEndCheckInfo());
- }
- if (pageWrap.getModel().getIdcardType() != null) {
- queryWrapper.lambda().eq(Visits::getIdcardType, pageWrap.getModel().getIdcardType());
- }
- if (pageWrap.getModel().getCarNos() != null) {
- queryWrapper.lambda().eq(Visits::getCarNos, pageWrap.getModel().getCarNos());
- }
- if (pageWrap.getModel().getParentId() != null) {
- queryWrapper.lambda().eq(Visits::getParentId, pageWrap.getModel().getParentId());
- }
- if (pageWrap.getModel().getUserAnswerId() != null) {
- queryWrapper.lambda().eq(Visits::getUserAnswerId, pageWrap.getModel().getUserAnswerId());
- }
- if (pageWrap.getModel().getHkId() != null) {
- queryWrapper.lambda().eq(Visits::getHkId, pageWrap.getModel().getHkId());
- }
- if (pageWrap.getModel().getHkStatus() != null) {
- queryWrapper.lambda().eq(Visits::getHkStatus, pageWrap.getModel().getHkStatus());
- }
- if (pageWrap.getModel().getHkDate() != null) {
- queryWrapper.lambda().ge(Visits::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()));
- queryWrapper.lambda().le(Visits::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()));
- }
- if (pageWrap.getModel().getErpId() != null) {
- queryWrapper.lambda().eq(Visits::getErpId, pageWrap.getModel().getErpId());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
- return PageData.from(visitsMapper.selectPage(page, queryWrapper));
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+
+ queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+ queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName())
+ .or().like(Visits::getPhone,pageWrap.getModel().getName()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName())
+ .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
+ queryWrapper.isNull(Visits::getParentId);
+ queryWrapper.orderByDesc(Visits::getCreateDate);
+ IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+ return PageData.from(result);
}
@Override
@@ -611,4 +525,33 @@
QueryWrapper<Visits> wrapper = new QueryWrapper<>(visits);
return visitsMapper.selectCount(wrapper);
}
+
+
+ @Override
+ public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+ IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.select("TIMESTAMPDIFF(MINUTE,t.ENDTIME , NOW()) 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.eq(Visits::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+ queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName())
+ .or().like(Visits::getPhone,pageWrap.getModel().getName()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName())
+ .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
+ queryWrapper.isNull(Visits::getOutDate);
+ queryWrapper.orderByDesc(Visits::getEditDate);
+ IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+
+ return PageData.from(result);
+ }
+
}
--
Gitblit v1.9.3