| | |
| | | package com.doumee.service.business.impl.hksync; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | |
| | | import com.doumee.core.haikang.model.param.BaseListPageResponse; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.request.*; |
| | | import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest; |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.utils.Constants; |
| | |
| | | import com.doumee.core.utils.ImageBase64Util; |
| | | import com.doumee.core.wx.wxPlat.WxPlatNotice; |
| | | import com.doumee.dao.business.DeviceRoleMapper; |
| | | import com.doumee.dao.business.RetentionMapper; |
| | | import com.doumee.dao.business.join.VisitsJoinMapper; |
| | | import com.doumee.dao.business.model.DeviceRole; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.Retention; |
| | | import com.doumee.dao.business.model.Visits; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl { |
| | | @Autowired |
| | | private VisitsJoinMapper visitsMapper; |
| | | @Autowired |
| | | private RetentionMapper retentionMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | |
| | | update.setOutDate(DateUtil.getISO8601DateByStr2(model.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&& "7,8".contains( model.getVisitorStatus()+"")){ |
| | |
| | | update.setOutDate(DateUtil.getISO8601DateByStr2(model.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())); |
| | | } |
| | | } |
| | | } |
| | |
| | | Constants.DEALING_HK_VISIT_EXPIRE =false; |
| | | } |
| | | } |
| | | |
| | | private Retention getRetentionModelByVisitRequest(Visits visits,Date date) { |
| | | Retention retention = new Retention(); |
| | | retention.setIsdeleted(Constants.ZERO); |
| | | retention.setCreateDate(date); |
| | | retention.setClasses(visits.getClasses()); |
| | | retention.setCode(visits.getCode()); |
| | | retention.setIdcardNo(visits.getIdcardNo()); |
| | | retention.setIdcardDecode(visits.getIdcardDecode()); |
| | | retention.setName(visits.getName()); |
| | | retention.setBirthday(visits.getBirthday()); |
| | | retention.setType(visits.getMemberType()); |
| | | retention.setCompanyId(visits.getCompanyId()); |
| | | retention.setCompanyName(visits.getCompanyName()); |
| | | retention.setEventDate(retention.getCreateDate()); |
| | | retention.setFaceImg(visits.getFaceImg()); |
| | | retention.setImgurl(visits.getImgurl()); |
| | | retention.setPhone(visits.getPhone()); |
| | | retention.setMemberId(visits.getMemberId()); |
| | | |
| | | return retention; |
| | | } |
| | | |
| | | public AppointmentInfoResponse getVisitRecord(String orderId){ |
| | | //分页遍历循环查询所有门禁设备数据 |
| | | if(StringUtils.isBlank(orderId)){ |
| | |
| | | } |
| | | private List<Visits> getExpireVisitList() { |
| | | MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Visits.class); |
| | | queryWrapper.selectAll(Visits.class) |
| | | .selectAs(Member::getType,Visits::getMemberType) |
| | | .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); |
| | | queryWrapper.in(Visits::getStatus, Arrays.asList(new Integer[]{Constants.VisitStatus.xfSuccess,Constants.VisitStatus.signin}) ); |
| | | List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper); |
| | | return list; |