| | |
| | | import com.ruoyi.system.mapper.SysVisitAreaMapper; |
| | | import com.ruoyi.system.mapper.SysVisitorRecordMapper; |
| | | import com.ruoyi.system.service.ISysVisitAreaService; |
| | | import com.ruoyi.system.utils.EmployeePhoneCrypto; |
| | | import com.ruoyi.system.vo.SysVisitAreaVO; |
| | | import com.ruoyi.web.controller.service.SysVisitorRecordService; |
| | | import com.ruoyi.web.controller.service.VisitorRegisterSyncService; |
| | |
| | | return AjaxResult.error("被访人不能为空"); |
| | | } |
| | | |
| | | List<Employee> employeeISList = employeeMapper.selectEnabledByEmployeeName(request.getIntervieweeName()); |
| | | if (employeeISList.isEmpty()) { |
| | | throw new ServiceException("被访人不存在,请联系工作人员"); |
| | | }else { |
| | | //重名 |
| | | if (StringUtils.isNotEmpty(request.getBeVisitorPhone())) { |
| | | String phoneHash = StringUtils.isEmpty(request.getBeVisitorPhone()) ? null : EmployeePhoneCrypto.hash(request.getBeVisitorPhone()); |
| | | |
| | | Employee employee = employeeMapper.selectOne(new LambdaQueryWrapper<Employee>().eq(Employee::getContactPhoneHash, phoneHash)); |
| | | if (employee == null) { |
| | | throw new ServiceException("被访人不存在,请联系工作人员"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 签离的当天不能再次进入 签到 |
| | | LambdaQueryWrapper<SysVisitorRecord> yqwrapper = new LambdaQueryWrapper<>(); |
| | | Date todayStart = DateUtils.truncate(new Date(), Calendar.DAY_OF_MONTH); // 当天 00:00:00 |
| | |
| | | List<AreasList> areasList = null; |
| | | |
| | | //查询地区 |
| | | if (StringUtils.isNotEmpty(record.getVisitAreaIds())) { |
| | | String[] visitAreaIds = record.getVisitAreaIds().split(","); |
| | | if (StringUtils.isNotEmpty(request.getVisitAreaIds())) { |
| | | String[] visitAreaIds = request.getVisitAreaIds().split(","); |
| | | String visitArea = Arrays.stream(visitAreaIds) |
| | | .map(id -> { |
| | | SysVisitArea area = sysVisitAreaMapper.selectById(Long.parseLong(id.trim())); |
| | | if (area == null || "1".equals(area.getDelFlag())) { |
| | | throw new ServiceException("访问区域不存在,请联系工作人员"); |
| | | } |
| | | return area != null ? area.getAreaName() : null; |
| | | }) |
| | | .filter(Objects::nonNull) |
| | |
| | | .map(id -> { |
| | | SysVisitArea area = sysVisitAreaMapper.selectById(Long.parseLong(id)); |
| | | if (area == null) { |
| | | return null; |
| | | throw new ServiceException("访问区域不存在,请联系工作人员"); |
| | | } |
| | | AreasList areas = new AreasList(); |
| | | areas.setAreaCode(area.getAreaCode()); |
| | |
| | | record.setRemark("来访中,允许访问区域:" + visitArea); |
| | | } |
| | | } |
| | | // 如果 visitAreaIds 为空,但 visitAreaNames 不为空,根据名称查询填充 visitAreaIds |
| | | else if (StringUtils.isNotEmpty(record.getVisitAreaNames())) { |
| | | String[] visitAreaNames = record.getVisitAreaNames().split(","); |
| | | |
| | | // 如果 visitAreaIds 为空,但 visitAreaNames 不为空,根据名称查询填充 visitAreaIds |
| | | else if (StringUtils.isNotEmpty(request.getVisitAreaNames())) { |
| | | String[] visitAreaNames = request.getVisitAreaNames().split(","); |
| | | |
| | | // 根据区域名称查询对应的ID,构建ID字符串 |
| | | String visitAreaIdsStr = Arrays.stream(visitAreaNames) |
| | |
| | | |
| | | //查询接待人的部门 |
| | | if (StringUtils.isNotEmpty(record.getIntervieweeName())) { |
| | | Employee employee = employeeMapper.selectEnabledByEmployeeName(record.getIntervieweeName()); |
| | | if (employee != null && employee.getDeptId() != null) { |
| | | SysDept sysDept = sysDeptMapper.selectDeptById(employee.getDeptId()); |
| | | if (sysDept != null) { |
| | | record.setIntervieweeDept(sysDept.getDeptName()); |
| | | List<Employee> employee = employeeMapper.selectEnabledByEmployeeName(record.getIntervieweeName()); |
| | | if (!employee.isEmpty()) { |
| | | Employee employeeNo1 = employee.get(0); |
| | | if (employeeNo1.getDeptId() != null) { |
| | | SysDept sysDept = sysDeptMapper.selectDeptById(employeeNo1.getDeptId()); |
| | | if (sysDept != null) { |
| | | record.setIntervieweeDept(sysDept.getDeptName()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | return AjaxResult.error("登记失败"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/idCardSingOut") |
| | | @ApiOperation(value = "访客身份证签离", notes = "访客身份证签离") |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | } else { |
| | | record.setStatus("SIGNED_OUT"); |
| | | } |
| | | record.setSignVerifyMethod("MANUAL"); |
| | | |
| | | SysVisitorRecord visitorRecord = new SysVisitorRecord(); |
| | | BeanUtils.copyBeanProp(visitorRecord, request); |
| | | visitorRecord.setSignVerifyMethod(record.getSignVerifyMethod()); |
| | | visitorRecord.setSignVerifyMethod(request.getSignVerifyMethod()); |
| | | visitorRecord.setStatus(record.getStatus()); |
| | | visitorRecord.setRecordId(record.getRecordId()); |
| | | visitorRecord.setSignTime(new Date()); |