From 165b038153aa55f465a225d421616d32e472c889 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 20 八月 2024 18:16:58 +0800 Subject: [PATCH] 最新版本 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 12 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java index 09e6a3f..143183d 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java @@ -73,14 +73,6 @@ AppointmentInfoResponse model = getVisitRecord(c.getHkId()); if(model == null){ continue; - /* Visits update = new Visits(); - //宸插け鏁� - update.setStatus(Constants.VisitStatus.invalid); - update.setEditDate(date); - update.setId(c.getId()); - update.setRemark("棰勭害宸茶娓呴櫎"); - visitsMapper.updateById(update); - continue;*/ } /** * * 0锛氬緟瀹℃牳锛堥绾﹀緟瀹℃壒锛夈�� @@ -155,6 +147,92 @@ } } + /** + * 鏌ヨICCM璁垮鏁版嵁鐘舵�� + */ + @Override + public void getOutTimeVisitRecordIccm(){ + if(Constants.DEALING_HK_VISIT_EXPIRE){ + return ; + } + Constants.DEALING_HK_VISIT_EXPIRE =true; + try { + //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁 + List<Visits> list = getExpireVisitList(); + //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 + if(list ==null || list.size()==0){ + return; + } + Date date = new Date(); + for(Visits c : list) { + //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈� + IccmAppointmentListResponse data = getVisitRecordIccm(c.getHkId()); + if(data == null || data.getVisitorList() ==null || data.getVisitorList().size()==0){ + continue; + } + /** + * 璁垮鐘舵��(0:鏈鍒�,1:宸茬鍒�,2:宸茬閫�,3:婊炵暀,4:鏈闂�,5:鑷姩绛剧,6:鏈閫�) + */ + IccmAppointmentVisitorResponse model = data.getVisitorList().get(0); + if (model.getVisitorStatus()!=null && ",4,".contains( "," +model.getVisitorStatus()+"," )){ + //瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡澶辨晥銆戝鐞� + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.invalid); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(data.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(data.getVisitEndTime())); + update.setRemark("瓒呮椂鏈櫥璁�"); + visitsMapper.updateById(update); + } + if (model.getVisitorStatus()!=null && ",2,5,".contains( "," +model.getVisitorStatus()+"," )){ + // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞� + if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){ + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.signout); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(data.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(data.getVisitEndTime())); + update.setRemark("宸茬绂�"); + visitsMapper.updateById(update); + + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); + } + } + if (model.getVisitorStatus()!=null&& ",1,3,6,".contains( "," +model.getVisitorStatus()+"," )){ + //濡傛灉宸茬櫥璁� + if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signin)){ + Visits update = new Visits(); + //宸插け鏁� + update.setStatus(Constants.VisitStatus.signin); + update.setEditDate(date); + update.setId(c.getId()); + update.setInDate(DateUtil.getISO8601DateByStr2(data.getVisitStartTime())); + update.setOutDate(DateUtil.getISO8601DateByStr2(data.getVisitEndTime())); + update.setRemark("宸茬鍒�"); + visitsMapper.updateById(update); + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); + //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 + retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); + } + } + } + }catch (Exception e){ + e.printStackTrace(); + }finally { + Constants.DEALING_HK_VISIT_EXPIRE =false; + } + } + private Retention getRetentionModelByVisitRequest(Visits visits,Date date) { Retention retention = new Retention(); retention.setIsdeleted(Constants.ZERO); @@ -195,6 +273,24 @@ } return response.getData().getList().get(0); } + public IccmAppointmentListResponse getVisitRecordIccm(String orderId){ + //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹� + if(StringUtils.isBlank(orderId)){ + return null; + } + IccmAppointmentListRequest param = new IccmAppointmentListRequest(); + param.setPageNo(1); + param.setPageSize(1); + param.setOrderId(orderId); + BaseResponse<BaseListPageResponse<IccmAppointmentListResponse>> response = HKService.iccmAppointmentRecords(param); + if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) ){ + return null; + } + if(response.getData() == null || response.getData().getList() == null|| response.getData().getList().size() ==0){ + return null; + } + return response.getData().getList().get(0); + } @Override public void syncVisitData(){ if(Constants.DEALING_HK_VISIT){ @@ -206,13 +302,9 @@ List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() .eq(DeviceRole::getType, Constants.ONE)); //鏍囪鏄惁璧板厤鐧昏棰勭害 -// String applyType =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode(); -// String applyLwType =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_LW_REQUIRED).getCode(); try { //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁 List<Visits> list = getVisitList(); - //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 -// List<Visits> list = getParentList(alllist); if(list ==null || list.size()==0){ return; } -- Gitblit v1.9.3