From 453881ba96a7913dfbb4d5c3d3542996d1e0f236 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 28 二月 2024 18:28:04 +0800
Subject: [PATCH] 整理
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 66 +++++++++++++++++++-------------
1 files changed, 39 insertions(+), 27 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 8a1521d..b98b25a 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
@@ -16,6 +16,7 @@
import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
+import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest;
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;
@@ -65,6 +66,8 @@
@Service
public class VisitsServiceImpl implements VisitsService {
+ @Autowired
+ private RetentionMapper retentionMapper;
@Autowired
private VisitsMapper visitsMapper;
@Autowired
@@ -127,6 +130,7 @@
//璁垮淇℃伅(浣跨敤韬唤璇佸彿鏌ヨ鏄惁宸插瓨鍦ㄦ敼鏅�氳瀹紝娌℃湁鍒欐柊澧烇紝瀛樺湪鍒欐洿鏂皁penid绛変俊鎭�),鍖呮嫭闅忚浜哄憳鏍¢獙鍜屽鐞�
Member member =dealMemberAndVisits(visits);
visits.setMemberId(member.getId());
+ visits.setVisitType(Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode()));
//鍒濆鍖栬瀹俊鎭�
initVisitInfo(visits,date);
visitsMapper.insert(visits);
@@ -548,6 +552,8 @@
v.setHkStatus(Constants.ZERO);
v.setReason(visits.getReason());
v.setDoors(visits.getDoors());
+ v.setType(visits.getType());
+ v.setVisitType(visits.getVisitType());
v.setStatus(Constants.VisitStatus.submitCheck);
}
//鎵归噺鎻掑叆鏁版嵁
@@ -683,15 +689,15 @@
}
private Member getMemberListParam(String cardno, Visits visits, List<Member> addList, List<Member> editList) {
- if(!StringUtils.isNotBlank(visits.getCarNos())
-// &&!Constants.checkCarNo(visits.getCarNos())
+ 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(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇併��"+cardno+"銆戝彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
.eq(Member::getType,Constants.memberType.visitor)
@@ -727,10 +733,11 @@
}else{
if(!Constants.equalsInteger(Constants.ZERO,member.getStatus() )){
//濡傛灉鐢ㄦ埛鐘舵�佸紓甯革紝鍒欐彁绀�
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璇ヨ韩浠借瘉鍙疯绂佹璁块棶鐢宠锛屽鏈夌枒闂紝璇疯仈绯绘偍鐨勬嫓璁夸汉杩涜鏍稿疄");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿銆�"+cardno+"銆戣绂佹璁块棶鐢宠锛屽鏈夌枒闂紝璇疯仈绯绘偍鐨勬嫓璁夸汉杩涜鏍稿疄");
}
//鏍告煡棰勭害鐢ㄦ埛鏄惁瀛樺湪鏈绂荤殑棰勭害璁板綍
- isExsitNoOutVisisRecord(member);
+// isExsitNoOutVisisRecord(member);
+
member.setFaceImg(visits.getFaceImg());
member.setImgurl(StringUtils.isNotBlank(visits.getImgurl())?visits.getImgurl():null);
member.setEditDate(visits.getCreateDate());
@@ -746,14 +753,11 @@
member.setErpStatus(Constants.ZERO);
member.setVisitCompanyName(visits.getCompanyName());
memberMapper.updateById(member);
- // 鏇存柊璁垮淇℃伅,
-// editList.add(member);
}
//鏍规嵁鎵嬫満鍙峰拰韬唤璇佸彿鐮佹煡璇� 褰撳墠棰勭害鐨勬椂闂存槸鍚︿笌鍏朵粬棰勭害璁板綍鏈夊啿绐�
if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda()
- .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail)
- .and(ms -> ms.eq(Visits::getPhone, visits.getPhone())
- .or().eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno)))
+ .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail,Constants.VisitStatus.signout,Constants.VisitStatus.invalid)
+ .eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno))
.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") + "' ")
)) > Constants.ZERO) {
@@ -1017,38 +1021,37 @@
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
- queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.ENDTIME) AS timeOut");
+ 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.leftJoin(" member m on m.id= t.MEMBER_ID");
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLevelStatus()),Visits::getStatus,Constants.VisitStatus.signin);
- queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getLevelStatus())," TIMESTAMPDIFF( MINUTE, NOW(), t.ENDTIME) <= "+code+" ");
+ queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getLevelStatus())," TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+" ");
queryWrapper.ne("m.type ",Constants.TWO);
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);
+ .or().like(Visits::getName,pageWrap.getModel().getName()));
+ queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()));
+ queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName());
queryWrapper.orderByDesc(Visits::getEditDate);
IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
if(result!=null&&result.getRecords()!=null){
result.getRecords().stream().forEach(s ->{
- 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);
+ 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);
+ }
}
-
});
}
@@ -1070,8 +1073,10 @@
VisitDetailVO visitDetailVO = new VisitDetailVO();
visitDetailVO.setStatus(visits.getStatus());
visitDetailVO.setCarNos(visits.getCarNos());
+ visitDetailVO.setPhone(visits.getPhone());
visitDetailVO.setVisitUserName(member.getName());
visitDetailVO.setVisitReason(visits.getReason());
+ visitDetailVO.setQrcode(visits.getQrcode());
visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") );
//琚浜哄憳閮ㄩ棬
Company company = companyMapper.selectById(member.getCompanyId());
@@ -1098,7 +1103,7 @@
}
visitDetailVO.setWithVisitsList(
visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
- .select(Visits::getName,Visits::getPhone,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
+ .select(Visits::getName,Visits::getPhone,Visits::getQrcode,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
.eq(Visits::getParentId,id)));
return visitDetailVO;
}
@@ -1150,9 +1155,16 @@
if(!visits.getStatus().equals(Constants.VisitStatus.signin)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�");
}
+ VisitAppointmentOutRequest request = new VisitAppointmentOutRequest();
+ request.setOrderId(visits.getHkId());
+ //璋冪敤娴峰悍寮哄埗绛剧
+ 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()));
}
}
--
Gitblit v1.9.3