From 2a8c4e590db641bbb3c1f5fc016a0b99bb52cdff Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 21 十月 2025 16:30:54 +0800
Subject: [PATCH] 月台自动叫号处理问题
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 263 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 172 insertions(+), 91 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 814663a..d9ab31f 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
@@ -128,6 +128,8 @@
@Autowired
private InoutDayCountMapper inoutDayCountMapper;
@Autowired
+ private InoutRecordMapper inoutRecordMapper;
+ @Autowired
private CarEventMapper carEventMapper;
@Autowired
@@ -172,7 +174,7 @@
if (erpVisitDTO.getEndtime().getTime() <= erpVisitDTO.getStarttime().getTime()) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂达紒");
}
- if (Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18
+ if (StringUtils.isNotBlank(erpVisitDTO.getIdcardNo()) && Constants.equalsInteger(Constants.ZERO, erpVisitDTO.getIdcardType()) && erpVisitDTO.getIdcardNo().length() != 18
//&&!IdcardUtil.isValidCard(visits.getIdcardNo())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
@@ -240,9 +242,8 @@
getHkDeviceRoles(visits,isERP);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
- if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())
- &&visits.getIdcardNo().length()!=18
- ){
+ if(StringUtils.isNotBlank(visits.getIdcardNo()) && Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())
+ &&visits.getIdcardNo().length()!=18 ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Date date = new Date();
@@ -303,8 +304,7 @@
WxPlatNotice wxPlatNotice = new WxPlatNotice();
wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
wxNoticeConfigMapper,visits,
- Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
Arrays.asList(visits.getOpenid().split(","))
);
}
@@ -313,7 +313,6 @@
return visits.getId();
}
-
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
@@ -342,7 +341,6 @@
wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
wxNoticeConfigMapper,visits,
Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
Arrays.asList(systemUser.getOpenid().split(","))
);
}
@@ -691,7 +689,7 @@
if(Constants.equalsInteger(visits.getType(),Constants.ZERO)
|| Constants.equalsInteger(visits.getType(),Constants.ONE)){
if( visits.getIdcardType() == null
- || StringUtils.isBlank( visits.getIdcardNo() ) || StringUtils.isBlank(visits.getFaceImg()) ){
+ || StringUtils.isBlank(visits.getFaceImg()) ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
}
}
@@ -898,38 +896,41 @@
List<Member> addList = new ArrayList<>();
List<Member> editList = new ArrayList<>();
//鐢宠浜轰俊鎭�
- Member m = getMemberListParam(visits.getIdcardNo(),visits,addList,editList);
+ Member m = getMemberListParam(visits.getPhone(),visits.getIdcardNo(),visits,addList,editList);
//闅忚浜哄憳淇℃伅澶勭悊
- if(visits.getWithUserList()!= null && visits.getWithUserList().size()>0){
- for(Visits model:visits.getWithUserList()){
- model.setBirthday(Constants.getBirthdyByCardNo(model.getIdcardNo()));
- model.setStarttime(visits.getStarttime());
- model.setEndtime(visits.getEndtime());
- //鏍¢獙闅忚浜哄憳濉姤鏁版嵁鍚堟硶鎬�
- isValidWithVisitParam(model,addList,editList);
- model.setCreateDate(visits.getCreateDate());
- Member visitsMember = getMemberListParam(model.getIdcardNo(),model,addList,editList);
- model.setMemberId(visitsMember.getId());
- }
- }
+// if(visits.getWithUserList()!= null && visits.getWithUserList().size()>0){
+// for(Visits model:visits.getWithUserList()){
+// model.setBirthday(Constants.getBirthdyByCardNo(model.getIdcardNo()));
+// model.setStarttime(visits.getStarttime());
+// model.setEndtime(visits.getEndtime());
+// //鏍¢獙闅忚浜哄憳濉姤鏁版嵁鍚堟硶鎬�
+// isValidWithVisitParam(model,addList,editList);
+// model.setCreateDate(visits.getCreateDate());
+// Member visitsMember = getMemberListParam(model.getIdcardNo(),model,addList,editList);
+// model.setMemberId(visitsMember.getId());
+// }
+// }
return m;
}
- private Member getMemberListParam(String cardno, Visits visits, List<Member> addList, List<Member> editList) {
+ private Member getMemberListParam(String phone,String cardno, Visits visits, List<Member> addList, List<Member> editList) {
if(StringUtils.isNotBlank(visits.getCarNos())
&&Objects.isNull(Constants.getVehiclePlateNo(visits.getCarNos()))
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝杞︾墝鍙枫��"+visits.getCarNos()+"銆戜笉鍚堟硶锛岃鏍稿疄鍚庨噸璇晘");
}
- if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&cardno.length()!=18
- //&&!IdcardUtil.isValidCard(cardno)
- ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇併��"+cardno+"銆戝彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
- }
+
+// if(StringUtils.isNotBlank(cardno)&&Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&cardno.length()!=18
+// //&&!IdcardUtil.isValidCard(cardno)
+// ){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇併��"+cardno+"銆戝彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
+// }
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
.eq(Member::getType,Constants.memberType.visitor)
.eq(Member::getIdcardType,visits.getIdcardType())
- .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, cardno)).last("limit 1" )
+ .eq(Member::getPhone,phone)
+// .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, cardno))
+ .last("limit 1" )
);
if(member == null){
member = new Member();
@@ -937,12 +938,14 @@
member.setCreateDate(visits.getCreateDate());
member.setIsdeleted(Constants.ZERO);
member.setIdcardNo(visits.getIdcardNo());
- member.setBirthday(Constants.getBirthdyByCardNo(cardno));
member.setIdcardDecode(visits.getIdcardDecode());
- member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//韬唤璇佸彿鍔犲瘑
- member.setIdcardDecode(Constants.getTuominStr(cardno));//鑴辨晱鎵嬫満鍙�
+ if(StringUtils.isNotBlank(cardno)){
+ member.setBirthday(Constants.getBirthdyByCardNo(cardno));
+ member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//韬唤璇佸彿鍔犲瘑
+ member.setIdcardDecode(Constants.getTuominStr(cardno));//鑴辨晱鎵嬫満鍙�
+ member.setSex(Constants.getSexByCardNo(cardno));
+ }
member.setFaceImg(visits.getFaceImg());
- member.setSex(Constants.getSexByCardNo(cardno));
member.setImgurl(StringUtils.isNotBlank(visits.getImgurl())?visits.getImgurl():null);
member.setIdcardType(visits.getIdcardType());
member.setName(visits.getName());
@@ -950,7 +953,6 @@
member.setOpenid(visits.getOpenid());
member.setType(Constants.memberType.visitor);
member.setStatus(Constants.ZERO);
- member.setSex(Constants.getSexByCardNo(cardno));
member.setHkStatus(Constants.ZERO);
member.setErpStatus(Constants.ZERO);
member.setVisitCompanyName(visits.getCompanyName());
@@ -960,7 +962,7 @@
}else{
if(!Constants.equalsInteger(Constants.ZERO,member.getStatus() )){
//濡傛灉鐢ㄦ埛鐘舵�佸紓甯革紝鍒欐彁绀�
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝銆�"+member.getName()+"銆戣韩浠借瘉鍙枫��"+cardno+"銆戝湪榛戝悕鍗曞唴锛屾棤娉曠敵璇疯繘鍏ュ洯鍖�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝銆�"+member.getName()+"銆戝湪榛戝悕鍗曞唴锛屾棤娉曠敵璇疯繘鍏ュ洯鍖�");
}
//鏍告煡棰勭害鐢ㄦ埛鏄惁瀛樺湪鏈绂荤殑棰勭害璁板綍
// isExsitNoOutVisisRecord(member);
@@ -968,13 +970,15 @@
member.setImgurl(StringUtils.isNotBlank(visits.getImgurl())?visits.getImgurl():null);
member.setEditDate(visits.getCreateDate());
member.setIsdeleted(Constants.ZERO);
- member.setSex(Constants.getSexByCardNo(cardno));
- member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//韬唤璇佸彿鍔犲瘑
- member.setIdcardDecode(Constants.getTuominStr(cardno));//鑴辨晱韬唤璇佸彿
+ if(StringUtils.isNotBlank(cardno)){
+ member.setBirthday(Constants.getBirthdyByCardNo(cardno));
+ member.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, cardno));//韬唤璇佸彿鍔犲瘑
+ member.setIdcardDecode(Constants.getTuominStr(cardno));//鑴辨晱鎵嬫満鍙�
+ member.setSex(Constants.getSexByCardNo(cardno));
+ }
member.setName(visits.getName());
member.setPhone(visits.getPhone());
member.setOpenid(visits.getOpenid());
- member.setSex(Constants.getSexByCardNo(cardno));
member.setHkStatus(Constants.ZERO);
member.setErpStatus(Constants.ZERO);
member.setVisitCompanyName(visits.getCompanyName());
@@ -988,16 +992,14 @@
,Constants.VisitStatus.xfFail
,Constants.VisitStatus.signout
,Constants.VisitStatus.invalid)
- .eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno))
- .and(ms -> ms.eq(Visits::getPhone, visits.getPhone())
- .or().eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno)))
+ .and(ms -> ms.eq(Visits::getPhone, visits.getPhone()))
.and(ms -> ms.apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' ")
.or().apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
.or().apply(" visits.STARTTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
.or().apply(" visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
)
) > Constants.ZERO) {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎵嬫満鍙枫��"+member.getPhone()+"銆戞垨韬唤璇併��"+ member.getIdcardDecode() +"銆戝瓨鍦ㄩ绾︽椂闂村啿绐侊紝鏃犳硶鐢宠鍝︼紒");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎵嬫満鍙枫��"+member.getPhone()+"銆戝瓨鍦ㄩ绾︽椂闂村啿绐侊紝鏃犳硶鐢宠鍝︼紒");
}
return member;
}
@@ -1294,6 +1296,7 @@
queryWrapper.selectAll(Visits.class);
queryWrapper.select(" ( select count(distinct(v.CAR_NOS)) from visits v where v.PARENT_ID = t.ID and v.CAR_NOS is not null and v.CAR_NOS != '' and v.CAR_NOS != t.CAR_NOS ) as carNum ");
+ queryWrapper.select(" ( select count(distinct(v.id)) from retention v where v.member_id = t.member_id and v.type=1 )",Visits::getRetentionNum);
queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
@@ -1325,6 +1328,9 @@
queryWrapper.isNull(Visits::getParentId);
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId());
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getReceptMemberId()),Visits::getReceptMemberId,pageWrap.getModel().getReceptMemberId());
+ queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStarttime()),Visits::getStarttime,Utils.Date.getStart(pageWrap.getModel().getQueryStarttime()));
+ queryWrapper.le(Objects.nonNull(pageWrap.getModel().getQueryEndtime()),Visits::getStarttime,Utils.Date.getEnd(pageWrap.getModel().getQueryEndtime()));
+
if(Objects.nonNull(pageWrap.getModel().getBusinessStatus())){
if(Constants.equalsInteger(pageWrap.getModel().getBusinessStatus(),Constants.TWO)){
@@ -1531,8 +1537,24 @@
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void visitLevelForCarOut(Visits visits){
+ visits.setRemark("璺熼殢璁垮杞﹁締绂诲洯鑷姩绛剧");
+ visitLevelBiz(visits);
+ }
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void visitLevel(Integer visitId){
Visits visits = visitsMapper.selectById(visitId);
+ visits.setRemark("骞冲彴绠$悊鍛樻墜鍔ㄧ绂绘垚鍔�");
+ visitLevelBiz(visits);
+ //浜у嚭鍦ㄥ満浜哄憳淇℃伅
+ retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.memberType.visitor)
+ .eq(Retention::getMemberId,visits.getMemberId()));
+ }
+
+ private void visitLevelBiz(Visits visits) {
if(Objects.isNull(visits)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
@@ -1543,14 +1565,16 @@
request.setOrderId(visits.getHkId());
//璋冪敤娴峰悍寮哄埗绛剧
BaseResponse response = HKService.iccmSignoff(request);
-// BaseResponse response = HKService.outVisitAppiontment(request);
- visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout)
- .eq(Visits::getId,visitId));
- //浜у嚭鍦ㄥ満浜哄憳淇℃伅
- retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
- .eq(Retention::getType,Constants.memberType.visitor)
- .eq(Retention::getMemberId,visits.getMemberId()));
+ if(response!=null &&StringUtils.isNotBlank(response.getCode()) && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ visitsMapper.update(null,new UpdateWrapper<Visits>().lambda()
+ .set(Visits::getStatus,Constants.VisitStatus.signout)
+ .set(Visits::getRemark,visits.getRemark())
+ .eq(Visits::getId,visits.getId()));
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮绛剧澶辫触锛岃鍒锋柊閲嶈瘯");
+ }
}
+
@Override
public void visitCancel(Integer visitId){
Visits visits = visitsMapper.selectById(visitId);
@@ -1575,12 +1599,15 @@
@Override
- public void visitsSelfCancel(Integer visitId,Integer memberId){
+ public void visitsSelfCancel(Integer visitId,Integer memberId,String openid){
Visits visits = visitsMapper.selectById(visitId);
if(Objects.isNull(visits)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
+/* if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺");
+ }*/
+ if(!StringUtils.equals(openid,visits.getOpenid())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺");
}
this.visitsCancelBiz(visits);
@@ -1594,7 +1621,8 @@
}
if(!(
CollectionUtils.isNotEmpty(loginUserInfo.getPermissions()) &&
- loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel")).collect(Collectors.toList()).size()>0)){
+ loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel"))
+ .collect(Collectors.toList()).size()>0)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺");
}
this.visitsCancelBiz(visits);
@@ -1611,7 +1639,8 @@
.eq(Visits::getId,visits.getId());
//璁垮鎶ュ
if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
- if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
+ if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)
+ ||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
|| Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝鏃犳硶杩涜璇ユ搷浣�");
}
@@ -1687,7 +1716,8 @@
.eq(Notices::getStatus,Constants.ZERO)
.eq(Notices::getParam2,Constants.ZERO)//寰呭鐞�
.eq(Notices::getObjId,visits.getId())
- .eq(Notices::getObjType,Constants.equalsInteger(visits.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
+ .eq(Notices::getObjType,!Constants.equalsInteger(visits.getType(),Constants.TWO)?
+ Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
);
Approve approve = new Approve();
@@ -1733,7 +1763,7 @@
}
List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
.eq(DeviceRole::getType, Constants.ONE));
- String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
HkSyncVisitServiceImpl.getUpdateModelByResponseIccm(visits,new Date(),roleList,path);
@@ -1791,7 +1821,7 @@
.apply(" DATE(TIME_INFO) = CURDATE() ")
.last(" limit 1 ")
);
-
+
//浠婃棩鍦ㄥ洯浜烘暟
pcWorkPlatformDataVO.setTodayInParkUserNum(
retentionList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.THREE)).count()
@@ -1802,8 +1832,7 @@
//鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
pcWorkPlatformDataVO.setInParkLwUserNum(
- retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)
- && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
+ retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FOUR)).count()
);
pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO);
pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO);
@@ -1815,6 +1844,10 @@
);
pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO);
pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO);
+
+ //鍦ㄥ洯璐ц繍杞﹁締鍙告満
+ pcWorkPlatformDataVO.setInParkDriverUserNum(
+ retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)&&Objects.isNull(i.getCompanyType())).count());
//鍦ㄥ洯杞﹁締
pcWorkPlatformDataVO.setTodayInParkCarNum(
@@ -1842,24 +1875,39 @@
List<InterestedListVO> weekVisitList = new ArrayList<>();
List<InterestedListVO> weekCarList = new ArrayList<>();
List<InterestedListVO> lwList = new ArrayList<>();
+ List<InterestedListVO> internalList = new ArrayList<>();
//鏌ヨ涓冨ぉ鍓嶇殑璁垮璁板綍鏁伴噺
- List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus,
- Constants.VisitStatus.signin,Constants.VisitStatus.signout)
- .apply(" STARTTIME > CURDATE() - INTERVAL 7 DAY " )
+// List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus,
+// Constants.VisitStatus.signin,Constants.VisitStatus.signout)
+// .apply(" STARTTIME > CURDATE() - INTERVAL 7 DAY " )
+// );
+
+ List<InoutRecord> inoutRecordList = inoutRecordMapper.selectList(new QueryWrapper<InoutRecord>().lambda()
+ .eq(InoutRecord::getInOrOut,Constants.ZERO).eq(InoutRecord::getIsdeleted,Constants.ZERO)
+ .apply(" TIME_INFO > CURDATE() - INTERVAL 7 DAY " )
);
- List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda()
- .in(CarEvent::getEventType,"771760131","771760130")
- .apply(" STR_TO_DATE(happen_time, '%Y-%m-%dT%H:%i:%s') > CURDATE() - INTERVAL 7 DAY " )
- );
+// List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda()
+// .in(CarEvent::getEventType,"771760131","771760130")
+// .apply(" STR_TO_DATE(happen_time, '%Y-%m-%dT%H:%i:%s') > CURDATE() - INTERVAL 7 DAY " )
+// );
for (String days:weekDays) {
InterestedListVO visitVO = new InterestedListVO();
visitVO.setName(days);
- if(CollectionUtils.isNotEmpty(visitsList)){
+ if(CollectionUtils.isNotEmpty(inoutRecordList)){
//澶勭悊璁垮浜哄憳鏁伴噺
- List<Visits> daysList = visitsList.stream().filter(i->Objects.nonNull(i.getStarttime())&&DateUtil.dateToString(i.getStarttime(),"yyyy-MM-dd").equals(days)).collect(Collectors.toList());
- List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList());
+// List<Visits> daysList = visitsList.stream().filter(i->Objects.nonNull(i.getStarttime())&&DateUtil.dateToString(i.getStarttime(),"yyyy-MM-dd").equals(days)).collect(Collectors.toList());
+// List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList());
+
+ List<String> memberIds = inoutRecordList.stream().filter(i->
+ Objects.isNull(i.getCarCode())
+ && Constants.equalsInteger(i.getMemberType(),Constants.ONE)
+ && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
+ && Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
+ )
+ .map(i->i.getMemberPhone())
+ .collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(memberIds)){
visitVO.setNum(new HashSet<String>(memberIds).size());
}
@@ -1870,51 +1918,83 @@
visitVO.setName(days);
+ weekVisitList.add(visitVO);
+
InterestedListVO carVO = new InterestedListVO();
+ carVO.setNum(Constants.ZERO);
carVO.setName(days);
-
- if(CollectionUtils.isNotEmpty(carEventList)){
+ if(CollectionUtils.isNotEmpty(inoutRecordList)){
//澶勭悊璁垮浜哄憳鏁伴噺
- List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList());
- List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList());
+// List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList());
+// List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList());
+ List<String> carCodeList = inoutRecordList.stream().filter(i->
+ Objects.nonNull(i.getCarCode())
+ && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
+ &&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
+ )
+ .map(i->i.getCarCode())
+ .collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(carCodeList)){
carVO.setNum(new HashSet<String>(carCodeList).size());
}
}
if(Objects.isNull(carVO.getNum())){
- visitVO.setNum(Constants.ZERO);
+ carVO.setNum(Constants.ZERO);
}
- weekVisitList.add(visitVO);
weekCarList.add(carVO);
}
pcWorkPlatformDataVO.setWeekVisitList(weekVisitList );
pcWorkPlatformDataVO.setWeekCarList(weekCarList);
List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
- .eq(Company::getType,Constants.ZERO)
.eq(Company::getIsdeleted,Constants.ZERO)
+ .orderByAsc(Company::getSortnum)
);
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()
- .eq(Retention::getType,Constants.TWO)
- .in(Retention::getCompanyId,companyIds)
- );
- for (Company company:companyList) {
- Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
- if(count>0){
- InterestedListVO lw = new InterestedListVO();
- lw.setNum(count);
- lw.setName(company.getName());
- lwList.add(lw);
+ List<Company> lwCompanyList = companyList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(lwCompanyList)){
+ List<Integer> lwCompanyIds = lwCompanyList.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<Retention> retentionList = retentionMapper.selectList(
+ new QueryWrapper<Retention>().lambda()
+ .eq(Retention::getIsdeleted,Constants.ZERO)
+ .eq(Retention::getType,Constants.FOUR)
+ .in(Retention::getCompanyId,lwCompanyIds)
+ );
+ for (Company company:lwCompanyList) {
+ Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
+ if(count>0){
+ InterestedListVO lw = new InterestedListVO();
+ lw.setNum(count);
+ lw.setName(company.getName());
+ lwList.add(lw);
+ }
+ }
+ }
+
+ List<Company> internalCompanyList = companyList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(internalCompanyList)){
+ List<Integer> internalCompanyIds = internalCompanyList.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<Retention> retentionList = retentionMapper.selectList(
+ new QueryWrapper<Retention>().lambda()
+ .eq(Retention::getIsdeleted,Constants.ZERO)
+ .eq(Retention::getType,Constants.TWO)
+ .in(Retention::getCompanyId,internalCompanyIds)
+ );
+ for (Company company:internalCompanyList) {
+ Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
+ if(count>0){
+ InterestedListVO lw = new InterestedListVO();
+ lw.setNum(count);
+ lw.setName(company.getName());
+ internalList.add(lw);
+ }
}
}
}
-
- pcWorkPlatformDataVO.setLwList(lwList );
+ pcWorkPlatformDataVO.setInternalList(internalList);
+ pcWorkPlatformDataVO.setLwList(lwList);
}else if(Constants.equalsInteger(queryType,Constants.THREE)) {
if (Objects.isNull(loginUserInfo.getMemberId())) {
pcWorkPlatformDataVO.setNoticesList(new ArrayList<>());
@@ -1984,6 +2064,7 @@
List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
.eq(Visits::getStatus,Constants.VisitStatus.signin)
.eq(Visits::getSendTimeOutNotice,Constants.ZERO)
+ .eq(Visits::getIsdeleted,Constants.ZERO)
.apply(" now() >= DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE) ")
);
Integer visitTimeCount = 0;
--
Gitblit v1.9.3