From 39c41cfdc080764a8fce22689feea1e9d6c10350 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 14 十月 2024 09:43:48 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 213 insertions(+), 2 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java index dee709a..355bb0b 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java +++ b/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,8 @@ 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.InterestedListVO; +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 +34,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; @@ -50,6 +56,7 @@ import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -108,7 +115,10 @@ private SystemUserMapper systemUserMapper; @Autowired private ApproveService approveService; - + @Autowired + private NoticesJoinMapper noticesJoinMapper; + @Autowired + private InoutDayCountMapper inoutDayCountMapper; @Override public Integer create(Visits visits) { @@ -206,7 +216,8 @@ getHkDeviceRoles(visits,isERP); //妫�楠屾嫓璁夸汉鏄惁鍚堟硶 Member visitMember = isValideVisitedUser(visits.getReceptMemberId()); - if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18 + if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType()) + &&visits.getIdcardNo().length()!=18 ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�"); } @@ -1141,6 +1152,15 @@ result.getType(), memberId) ); + if(Constants.equalsInteger(result.getStatus(),Constants.VisitStatus.xfSuccess) + || Constants.equalsInteger(result.getStatus(),Constants.VisitStatus.xfFail) + || Constants.equalsInteger(result.getStatus(),Constants.VisitStatus.signin) + || Constants.equalsInteger(result.getStatus(),Constants.VisitStatus.signout) + || Constants.equalsInteger(result.getStatus(),Constants.VisitStatus.invalid)){ + result.setBusinessStatus(Constants.VisitStatus.pass); + }else{ + result.setBusinessStatus(result.getStatus()); + } return result; } @@ -1260,6 +1280,15 @@ VisitDetailVO visitDetailVO = new VisitDetailVO(); visitDetailVO.setCreateTime(visits.getCreateDate()); visitDetailVO.setStatus(visits.getStatus()); + if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfFail) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.signin) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.signout) + || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.invalid)){ + visitDetailVO.setBusinessStatus(Constants.VisitStatus.pass); + }else{ + visitDetailVO.setBusinessStatus(visits.getStatus()); + } visitDetailVO.setCarNos(visits.getCarNos()); visitDetailVO.setPhone(visits.getPhone()); visitDetailVO.setVisitUserName(member.getName()); @@ -1444,4 +1473,186 @@ 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) + ); + + InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() + .lambda() + .apply(" DATE(TIME_INFO) = CURDATE() ") + .last(" limit 1 ") + ); + + //浠婃棩鍦ㄥ洯浜烘暟 + pcWorkPlatformDataVO.setTodayInParkUserNum( + retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count() + ); + + pcWorkPlatformDataVO.setTodayInUserNum(Constants.ZERO); + pcWorkPlatformDataVO.setTodayOutUserNum(Constants.ZERO); + + //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁� + pcWorkPlatformDataVO.setInParkLwUserNum( + retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count() + ); + pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO); + pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO); + + + //鍦ㄥ洯璁垮鏁伴噺 + pcWorkPlatformDataVO.setInParkVisitUserNum( + retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count() + ); + pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO); + pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO); + + //鍦ㄥ洯杞﹁締 + pcWorkPlatformDataVO.setTodayInParkCarNum( + retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count() + ); + pcWorkPlatformDataVO.setTodayInCarNum(Constants.ZERO); + pcWorkPlatformDataVO.setTodayOutCarNum(Constants.ZERO); + if(Objects.nonNull(inoutDayCount)){ + //鐩稿叧鏂� + pcWorkPlatformDataVO.setLwUserInNum(inoutDayCount.getInOtherMemberNum()); + pcWorkPlatformDataVO.setLwUserOutNum(inoutDayCount.getOutOtherMemberNum()); + //璁垮 + pcWorkPlatformDataVO.setVisitUserNum(inoutDayCount.getInVisitorNum()); + pcWorkPlatformDataVO.setSignLevelNum(inoutDayCount.getOutVisitorNum()); + //杞﹁締 + pcWorkPlatformDataVO.setTodayInCarNum(inoutDayCount.getInCarNum()); + pcWorkPlatformDataVO.setTodayOutCarNum(inoutDayCount.getOutCarNum()); + //鎬讳汉鏁� + pcWorkPlatformDataVO.setTodayInUserNum(pcWorkPlatformDataVO.getLwUserInNum() + pcWorkPlatformDataVO.getVisitUserNum() + inoutDayCount.getInSelfMemberNum() ); + pcWorkPlatformDataVO.setTodayOutUserNum(pcWorkPlatformDataVO.getLwUserOutNum() + pcWorkPlatformDataVO.getSignLevelNum() + inoutDayCount.getOutSelfMemberNum() ); + } + + }else if(Constants.equalsInteger(queryType,Constants.TWO)){ + List<String> weekDays = DateUtil.getBeforDays(new Date(),7); + List<InterestedListVO> weekVisitList = new ArrayList<>(); + List<InterestedListVO> weekCarList = new ArrayList<>(); + List<InterestedListVO> lwList = new ArrayList<>(); + + for (String days:weekDays) { + InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() + .lambda() + .apply(" DATE(TIME_INFO) = '"+days+"' ") + .last(" limit 1 ") + ); + InterestedListVO visitVO = new InterestedListVO(); + visitVO.setName(days); + InterestedListVO carVO = new InterestedListVO(); + carVO.setName(days); + if(Objects.isNull(inoutDayCount)){ + visitVO.setNum(Constants.ZERO); + carVO.setNum(Constants.ZERO); + }else{ + visitVO.setNum(inoutDayCount.getInVisitorNum()); + carVO.setNum(inoutDayCount.getInCarNum()); + } + weekVisitList.add(visitVO); + weekCarList.add(carVO); + } + pcWorkPlatformDataVO.setWeekVisitList(weekVisitList ); + pcWorkPlatformDataVO.setWeekCarList(weekCarList); + +// List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class, +// new MPJLambdaWrapper<Retention>() +// .selectAll(Retention.class) +// .selectAs(Company::getType,Retention::getCompanyType) +// .selectAs(Company::getName,Retention::getCompanyName) +// .leftJoin(Company.class,Company::getId,Retention::getCompanyId) +// .eq(Company::getType,Constants.ZERO) +// .groupBy(Company::getId,Company::getName) +// .orderByDesc(Retention::getNum) +// ); + + List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda() + .eq(Company::getType,Constants.ZERO) + .eq(Company::getIsdeleted,Constants.ZERO) + ); + + if(CollectionUtils.isNotEmpty(companyList)){ + List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList()); + List<Retention> retentionList = retentionMapper.selectList( + new QueryWrapper<Retention>().lambda() + .in(Retention::getCompanyId,companyIds) + ); + for (Company company:companyList) { + Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size(); + InterestedListVO lw = new InterestedListVO(); + lw.setNum(count); + lw.setName(company.getName()); + lwList.add(lw); + } + } + + pcWorkPlatformDataVO.setLwList(lwList ); + }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; + } } -- Gitblit v1.9.3