Commit bd6d11c3 authored by 罗可心's avatar 罗可心 😕

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/resources/mapper/VisitInfomationMapper.xml
parents 7812c1a7 f7c408f3
...@@ -2,6 +2,9 @@ package org.rcisoft.integration.jieLink.dto; ...@@ -2,6 +2,9 @@ package org.rcisoft.integration.jieLink.dto;
import lombok.Data; import lombok.Data;
import java.util.List;
import java.util.Map;
/** /**
* 邀访记录主表 * 邀访记录主表
*/ */
...@@ -57,4 +60,11 @@ public class VisitDataInviteDto { ...@@ -57,4 +60,11 @@ public class VisitDataInviteDto {
*/ */
private String content; private String content;
/**
* <pre>
* 设备区域列表
* </pre>
*/
private List<Map<String,String>> deviceApList;
} }
...@@ -15,13 +15,16 @@ import org.rcisoft.integration.jieLink.dto.*; ...@@ -15,13 +15,16 @@ import org.rcisoft.integration.jieLink.dto.*;
import org.rcisoft.integration.jieLink.service.IJieLinkService; import org.rcisoft.integration.jieLink.service.IJieLinkService;
import org.rcisoft.sys.devices.entity.Devices; import org.rcisoft.sys.devices.entity.Devices;
import org.rcisoft.sys.devices.service.DevicesService; import org.rcisoft.sys.devices.service.DevicesService;
import org.rcisoft.sys.sysuser.dao.SysDictDataRepositorys;
import org.rcisoft.sys.sysuser.entity.DoorRecord; import org.rcisoft.sys.sysuser.entity.DoorRecord;
import org.rcisoft.sys.sysuser.entity.SysDictData;
import org.rcisoft.sys.sysuser.entity.SysUser; import org.rcisoft.sys.sysuser.entity.SysUser;
import org.rcisoft.sys.sysuser.service.DoorRecordService; import org.rcisoft.sys.sysuser.service.DoorRecordService;
import org.rcisoft.sys.sysuser.service.SysUserService; import org.rcisoft.sys.sysuser.service.SysUserService;
import org.rcisoft.sys.visit.entity.VisitInfoMation; import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.rcisoft.sys.visit.entity.VisitUser; import org.rcisoft.sys.visit.entity.VisitUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*; import org.springframework.http.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
...@@ -42,16 +45,19 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -42,16 +45,19 @@ public class JieLinkServiceImpl implements IJieLinkService {
/** /**
* 捷顺服务地址 * 捷顺服务地址
*/ */
@Value("${jieLink.apiUrl}")
private String jieLinkUri; private String jieLinkUri;
/** /**
* 接口用户 * 接口用户
*/ */
@Value("${jieLink.account}")
private String jieLinkUser; private String jieLinkUser;
/** /**
* 接口密码 * 接口密码
*/ */
@Value("${jieLink.pwd}")
private String jieLinkPwd; private String jieLinkPwd;
...@@ -67,6 +73,9 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -67,6 +73,9 @@ public class JieLinkServiceImpl implements IJieLinkService {
@Autowired @Autowired
private DevicesService devicesService; private DevicesService devicesService;
@Autowired
private SysDictDataRepositorys dictDataRepositorys;
/** /**
* 获取签名所需相关参数 * 获取签名所需相关参数
...@@ -87,6 +96,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -87,6 +96,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
try{ try{
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
log.debug("getAppKeyInfo接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto<List<AppInfoDto>> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto<List<AppInfoDto>> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
List<AppInfoDto> appInfoDtoList = resultData.getData(); List<AppInfoDto> appInfoDtoList = resultData.getData();
...@@ -108,6 +118,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -108,6 +118,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//请求失败啦 //请求失败啦
log.error("getAppKeyInfo接口返回错误信息:{0}",responseEntity.getBody());
return null; return null;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -133,6 +144,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -133,6 +144,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{ try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
log.debug("pushAddUserData接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto<JieLinkPersonDto> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto<JieLinkPersonDto> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
JieLinkPersonDto persion = resultData.getData(); JieLinkPersonDto persion = resultData.getData();
...@@ -159,6 +171,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -159,6 +171,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//请求失败啦 //请求失败啦
log.error("pushAddUserData接口返回错误信息:{0}",responseEntity.getBody());
return false; return false;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -167,6 +180,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -167,6 +180,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//认证信息获取失败 //认证信息获取失败
log.error("pushAddUserData接口获取认证参数失败");
return false; return false;
} }
} }
...@@ -179,36 +193,44 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -179,36 +193,44 @@ public class JieLinkServiceImpl implements IJieLinkService {
*/ */
@Override @Override
public boolean pushModifyUserData(SysUser userData) { public boolean pushModifyUserData(SysUser userData) {
String apiUri = "/api/base/updateperson"; if(userData!=null && StringUtils.isNotBlank(userData.getPersonId())){
HttpHeaders headers = this.loadHeaderHandle(); String apiUri = "/api/base/updateperson";
if(headers!=null){ HttpHeaders headers = this.loadHeaderHandle();
JieLinkPersonDto pushData = this.convertUserBean(userData); if(headers!=null){
pushData.setPersonId("");//TODO 此处缺失关联捷顺系统的ID JieLinkPersonDto pushData = this.convertUserBean(userData);
HttpEntity<JieLinkPersonDto> httpEntity = new HttpEntity<>(pushData,headers); pushData.setPersonId(userData.getPersonId());
StringBuffer uriAddr = new StringBuffer(); HttpEntity<JieLinkPersonDto> httpEntity = new HttpEntity<>(pushData,headers);
uriAddr.append(jieLinkUri).append(apiUri); StringBuffer uriAddr = new StringBuffer();
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); uriAddr.append(jieLinkUri).append(apiUri);
try{ ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { try{
JieLinkResultDto<JieLinkPersonDto> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
if(StringUtils.equals(resultData.getCode(),"0")){ log.debug("pushModifyUserData接口返回信息:{0}",responseEntity.getBody());
return true; JieLinkResultDto<JieLinkPersonDto> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){
return true;
}else{
log.error("pushAddUserData接口返回错误信息:"+resultData.getMsg());
//请求返回结果错误啦
return false;
}
}else{ }else{
log.error("pushAddUserData接口返回错误信息:"+resultData.getMsg()); //请求失败啦
//请求返回结果错误啦 log.error("pushAddUserData接口返回错误信息:{0}",responseEntity.getBody());
return false; return false;
} }
}else{ }catch (Exception ex){
//请求失败啦 log.error(ex.getMessage(),ex);
return false; return false;
} }
}catch (Exception ex){ }else{
log.error(ex.getMessage(),ex); //认证信息获取失败
log.error("pushAddUserData接口获取认证参数失败");
return false; return false;
} }
}else{ }else{
//认证信息获取失败 log.error("当前用户没有捷顺系统的ID,无法更新");
return false; return true;
} }
} }
...@@ -264,6 +286,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -264,6 +286,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
try{ try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
//后续处理逻辑 //后续处理逻辑
log.debug("pushVisitorData接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
return true; return true;
...@@ -274,6 +297,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -274,6 +297,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//请求失败啦 //请求失败啦
log.error("pushVisitorData接口返回错误信息:{0}",responseEntity.getBody());
return false; return false;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -282,6 +306,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -282,6 +306,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//认证信息获取失败 //认证信息获取失败
log.error("pushVisitorData接口获取认证参数失败");
return false; return false;
} }
} }
...@@ -314,6 +339,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -314,6 +339,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{ try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
log.debug("cancelVisitorData接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
return true; return true;
...@@ -324,6 +350,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -324,6 +350,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//请求失败啦 //请求失败啦
log.error("cancelVisitorData接口返回错误信息:{0}",responseEntity.getBody());
return false; return false;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -332,10 +359,34 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -332,10 +359,34 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//认证信息获取失败 //认证信息获取失败
log.error("cancelVisitorData接口获取认证参数失败");
return false; return false;
} }
} }
/**
* 所有设备ID
*/
public static List<Map<String,String>> deviceGuidAllArray = new ArrayList<>();
/**
* 门口设备集合
*/
public static List<Map<String,String>> deviceGuidInArray = new ArrayList<>();
static{
deviceGuidAllArray.add(new HashMap(){{ put("deviceApGuid","1");}});
deviceGuidAllArray.add(new HashMap(){{ put("deviceApGuid","2");}});
deviceGuidAllArray.add(new HashMap(){{ put("deviceApGuid","3");}});
deviceGuidAllArray.add(new HashMap(){{ put("deviceApGuid","4");}});
deviceGuidAllArray.add(new HashMap(){{ put("deviceApGuid","5");}});
deviceGuidInArray.add(new HashMap(){{ put("deviceApGuid","1");}});
}
/** /**
* 邀访记录转换 * 邀访记录转换
* @param infoMation * @param infoMation
...@@ -344,11 +395,30 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -344,11 +395,30 @@ public class JieLinkServiceImpl implements IJieLinkService {
private JSONObject convertVisitorData(VisitInfoMation infoMation){ private JSONObject convertVisitorData(VisitInfoMation infoMation){
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
VisitDataInviteDto manData = new VisitDataInviteDto(); VisitDataInviteDto manData = new VisitDataInviteDto();
//TODO 此处需要沟通下才行
manData.setPersonId(sysUserService.getPersionIdByUserId(infoMation.getUserId()));//转换ID manData.setPersonId(sysUserService.getPersionIdByUserId(infoMation.getUserId()));//转换ID
manData.setItemId(infoMation.getItemId());//邀访记录 manData.setItemId(infoMation.getItemId());//邀访记录
//生成邀访时间格式的JSON字符串 //TODO 生成邀访时间格式的JSON字符串
manData.setTimeDesc("");//邀访时间格式 需要根据两个字段以及数据字典中对应的类型进行计算得到开始和结束时间 Date visitRealTime = infoMation.getVisitRealTime();
SysDictData queryDicData = new SysDictData();
queryDicData.setDictType("timeThreshold");
queryDicData.setFlag("1");
queryDicData.setFlag("1");
List<SysDictData> dictDataList = dictDataRepositorys.querySysDictDatas(queryDicData);
JSONObject timeObj = new JSONObject();
for(SysDictData dicData: dictDataList){
String dictValue = dicData.getDictValue();
//此处可能会有类型转换报错的BUG
int factor = Integer.parseInt(dictValue);
String dictLabel = dicData.getDictLabel();
if(StringUtils.equals("advance",dictLabel)){
Date startTime = new Date(visitRealTime.getTime()-(factor*60*1000));
timeObj.put("sd",DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss"));
}else if(StringUtils.equals("late",dictLabel)){
Date startTime = new Date(visitRealTime.getTime()+(factor*60*1000));
timeObj.put("ed",DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss"));
}
}
manData.setTimeDesc(timeObj.toJSONString());//邀访时间格式 需要根据两个字段以及数据字典中对应的类型进行计算得到开始和结束时间
manData.setVisitorType("3");//访客类型 manData.setVisitorType("3");//访客类型
//到访事由 两个字段做或判断 //到访事由 两个字段做或判断
if(StringUtils.isNotBlank(infoMation.getVisitReason())){ if(StringUtils.isNotBlank(infoMation.getVisitReason())){
...@@ -356,7 +426,24 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -356,7 +426,24 @@ public class JieLinkServiceImpl implements IJieLinkService {
}else{ }else{
manData.setContent(infoMation.getVisitReasonOther()); manData.setContent(infoMation.getVisitReasonOther());
} }
//访问区域设置
if(StringUtils.isNotBlank(infoMation.getVisitRegionCode())){
String[] codeArray = infoMation.getVisitRegionCode().split(",");
if(codeArray.length==1){
//判断设备是办公楼 则认为是全部设备,相反则只有门口的设备
if(StringUtils.equals("0",codeArray[0])){
manData.setDeviceApList(deviceGuidAllArray);
}else{
manData.setDeviceApList(deviceGuidInArray);
}
}else if(codeArray.length ==2){
//两个都选了,则认为是所有设备全部开启
manData.setDeviceApList(deviceGuidAllArray);
}
}else{
//默认只给门口设备的权限
manData.setDeviceApList(deviceGuidInArray);
}
List<VisitDataSubItemDto> userList = new ArrayList<>(); List<VisitDataSubItemDto> userList = new ArrayList<>();
if(infoMation.getUserList()!=null && !infoMation.getUserList().isEmpty()){ if(infoMation.getUserList()!=null && !infoMation.getUserList().isEmpty()){
List<VisitUser> userDataList = infoMation.getUserList(); List<VisitUser> userDataList = infoMation.getUserList();
...@@ -402,6 +489,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -402,6 +489,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{ try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
log.debug("pullVisitUserQrCode接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
JSONObject data = resultData.getData(); JSONObject data = resultData.getData();
...@@ -411,12 +499,13 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -411,12 +499,13 @@ public class JieLinkServiceImpl implements IJieLinkService {
return null; return null;
} }
}else{ }else{
log.error("cancelVisitorData接口返回错误信息:"+resultData.getMsg()); log.error("pullVisitUserQrCode接口返回错误信息:"+resultData.getMsg());
//请求返回结果错误啦 //请求返回结果错误啦
return null; return null;
} }
}else{ }else{
//请求失败啦 //请求失败啦
log.error("pullVisitUserQrCode接口返回错误信息:{0}",responseEntity.getBody());
return null; return null;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -425,6 +514,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -425,6 +514,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
} }
}else{ }else{
//认证信息获取失败 //认证信息获取失败
log.error("pullVisitUserQrCode接口获取认证参数失败");
return null; return null;
} }
} }
...@@ -552,6 +642,7 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -552,6 +642,7 @@ public class JieLinkServiceImpl implements IJieLinkService {
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class); ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{ try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) { if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
log.debug("syncDeviceInfo接口返回信息:{0}",responseEntity.getBody());
JieLinkResultDto<List<Devices>> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class); JieLinkResultDto<List<Devices>> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){ if(StringUtils.equals(resultData.getCode(),"0")){
List<Devices> devicesList = resultData.getData(); List<Devices> devicesList = resultData.getData();
...@@ -573,12 +664,14 @@ public class JieLinkServiceImpl implements IJieLinkService { ...@@ -573,12 +664,14 @@ public class JieLinkServiceImpl implements IJieLinkService {
log.error("syncDeviceInfo接口返回错误信息:"+resultData.getMsg()); log.error("syncDeviceInfo接口返回错误信息:"+resultData.getMsg());
} }
}else{ }else{
log.error("syncDeviceInfo接口返回错误信息:{0}",responseEntity.getBody());
} }
}catch (Exception ex){ }catch (Exception ex){
log.error(ex.getMessage(),ex); log.error(ex.getMessage(),ex);
} }
}else{ }else{
//认证信息获取失败 //认证信息获取失败
log.error("syncDeviceInfo接口获取认证参数失败");
} }
} }
......
...@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Date;
@RestController @RestController
@RequestMapping("/attendance") @RequestMapping("/attendance")
......
...@@ -3,15 +3,9 @@ package org.rcisoft.sys.attendance.dao; ...@@ -3,15 +3,9 @@ package org.rcisoft.sys.attendance.dao;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.rcisoft.core.mapper.CyBaseMapper; import org.rcisoft.core.mapper.CyBaseMapper;
import org.rcisoft.sys.attendance.entity.AttendanceSync; import org.rcisoft.sys.attendance.entity.AttendanceSync;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.rcisoft.sys.sysuser.entity.SysUser;
import org.springframework.stereotype.Repository;
import org.rcisoft.core.model.CyPageInfo; import org.rcisoft.core.model.CyPageInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import javax.mail.MailSessionDefinition;
import java.util.List; import java.util.List;
/** /**
...@@ -29,6 +23,6 @@ public interface AttendanceSyncRepository extends CyBaseMapper<AttendanceSync> { ...@@ -29,6 +23,6 @@ public interface AttendanceSyncRepository extends CyBaseMapper<AttendanceSync> {
IPage<AttendanceSync> queryAttendanceSyncsPaged(CyPageInfo cyPageInfo, @Param("entity") AttendanceSync attendanceSync); IPage<AttendanceSync> queryAttendanceSyncsPaged(CyPageInfo cyPageInfo, @Param("entity") AttendanceSync attendanceSync);
//新增 //新增
public int addAttendanceSync(@Param("entity") AttendanceSync attendanceSync); int addAttendanceSync(@Param("entity") AttendanceSync attendanceSync);
} }
...@@ -32,6 +32,7 @@ public class AttendanceSync extends CyIdEntity<AttendanceSync> { ...@@ -32,6 +32,7 @@ public class AttendanceSync extends CyIdEntity<AttendanceSync> {
@Excel(name = "姓名", orderNum = "1", width = 20) @Excel(name = "姓名", orderNum = "1", width = 20)
private String name; private String name;
private Integer userId;
/** /**
* @desc 手机号码 * @desc 手机号码
* @column phone * @column phone
......
package org.rcisoft.sys.attendance.schedule; package org.rcisoft.sys.attendance.schedule;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.rcisoft.sys.attendance.dao.AttendanceSyncRepository; import org.rcisoft.sys.attendance.dao.AttendanceSyncRepository;
import org.rcisoft.sys.attendance.entity.Attendance; import org.rcisoft.sys.attendance.entity.Attendance;
import org.rcisoft.sys.attendance.entity.AttendanceSync; import org.rcisoft.sys.attendance.entity.AttendanceSync;
import org.rcisoft.sys.attendance.service.AttendanceService; import org.rcisoft.sys.attendance.service.AttendanceService;
import org.rcisoft.sys.sysuser.dao.SysUserRepositorys; import org.rcisoft.sys.sysuser.dao.SysUserRepositorys;
import org.rcisoft.sys.sysuser.entity.SysUser; import org.rcisoft.sys.sysuser.entity.SysUser;
import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -32,7 +30,7 @@ public class AttendanceSyncSchedule { ...@@ -32,7 +30,7 @@ public class AttendanceSyncSchedule {
// @Scheduled(cron = "0 0 0,15,16,17 * * ?") // @Scheduled(cron = "0 0 0,15,16,17 * * ?")
// 每隔5秒执行一次 // 每隔5秒执行一次
@Scheduled(cron = "0 */1 * * * ?") @Scheduled(cron = "0 */10 * * * ?")
public void execute() { public void execute() {
Attendance attendance = new Attendance(); Attendance attendance = new Attendance();
// 查询昨日所有考勤 // 查询昨日所有考勤
...@@ -41,6 +39,7 @@ public class AttendanceSyncSchedule { ...@@ -41,6 +39,7 @@ public class AttendanceSyncSchedule {
for (int i = 0; i < all.size(); i++) { for (int i = 0; i < all.size(); i++) {
//通过id查询用户表 //通过id查询用户表
SysUser sysUser = sysUserRepositorys.querySysUsersById(all.get(i).getUserId()); SysUser sysUser = sysUserRepositorys.querySysUsersById(all.get(i).getUserId());
attendanceSync.setUserId(sysUser.getBusinessId());
attendanceSync.setName(all.get(i).getPeopleName()); attendanceSync.setName(all.get(i).getPeopleName());
attendanceSync.setPhone(sysUser.getPhone()); attendanceSync.setPhone(sysUser.getPhone());
attendanceSync.setDeptId(sysUser.getDeptId()); attendanceSync.setDeptId(sysUser.getDeptId());
...@@ -62,7 +61,6 @@ public class AttendanceSyncSchedule { ...@@ -62,7 +61,6 @@ public class AttendanceSyncSchedule {
attendanceSync.setCreateDate(new Date()); attendanceSync.setCreateDate(new Date());
attendanceSync.setPassageTime(all.get(i).getCrossTime()); attendanceSync.setPassageTime(all.get(i).getCrossTime());
// 判断考勤是否已经存在,已经存在不会添加 // 判断考勤是否已经存在,已经存在不会添加
//查询条件 查询比当前时间大的第一条记录
if (attendanceSyncRepository.queryAttendanceSyncs(attendanceSync).size() == 0) if (attendanceSyncRepository.queryAttendanceSyncs(attendanceSync).size() == 0)
attendanceSyncRepository.addAttendanceSync(attendanceSync); attendanceSyncRepository.addAttendanceSync(attendanceSync);
} }
......
package org.rcisoft.sys.attendance.service.impl; package org.rcisoft.sys.attendance.service.impl;
import cn.hutool.core.util.NumberUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.rcisoft.core.jwt.util.CyJwtUtil; import org.rcisoft.core.jwt.util.CyJwtUtil;
import org.rcisoft.core.util.CyUserUtil; import org.rcisoft.core.util.CyUserUtil;
...@@ -125,7 +123,7 @@ public class AttendanceServiceImpl implements AttendanceService { ...@@ -125,7 +123,7 @@ public class AttendanceServiceImpl implements AttendanceService {
SysDictData data = shiftList.stream().filter(s -> s.getDictLabel() SysDictData data = shiftList.stream().filter(s -> s.getDictLabel()
.equals(attendance.getNltBz())).findFirst().orElse(null); .equals(attendance.getNltBz())).findFirst().orElse(null);
attendance.setKqFlag("异常"); attendance.setKqFlag("异常");
if (data != null) { if (data.getRemarks() != null) {
// 班次最小时长 // 班次最小时长
BigDecimal xz = new BigDecimal(data.getRemarks()); BigDecimal xz = new BigDecimal(data.getRemarks());
if (xz.compareTo(attendance.getDuration()) < 0) if (xz.compareTo(attendance.getDuration()) < 0)
......
...@@ -25,7 +25,7 @@ import org.springframework.data.annotation.Transient; ...@@ -25,7 +25,7 @@ import org.springframework.data.annotation.Transient;
public class DoorRecord extends CyIdEntity<DoorRecord> { public class DoorRecord extends CyIdEntity<DoorRecord> {
@Excel(name = "行人员姓名", orderNum = "1", width = 20) @Excel(name = "行人员姓名", orderNum = "1", width = 20)
//通行人员姓名 //通行人员姓名
private String name; private String name;
......
...@@ -221,7 +221,7 @@ public class DoorRecordServiceImpl extends ServiceImpl<DoorRecordRepository, Doo ...@@ -221,7 +221,7 @@ public class DoorRecordServiceImpl extends ServiceImpl<DoorRecordRepository, Doo
if (deviceType.equals("1")) { if (deviceType.equals("1")) {
doorRecordList.get(i).setDeviceType("进入"); doorRecordList.get(i).setDeviceType("进入");
} else if (deviceType.equals("2")) { } else if (deviceType.equals("2")) {
doorRecordList.get(i).setDeviceType("出入"); doorRecordList.get(i).setDeviceType("离开");
} }
} }
//获取登记结果 //获取登记结果
......
...@@ -54,5 +54,7 @@ public interface VisitInfomationRepository extends CyBaseMapper<VisitInfoMation> ...@@ -54,5 +54,7 @@ public interface VisitInfomationRepository extends CyBaseMapper<VisitInfoMation>
List<VisitInfoMation> queryFuture(int userId); List<VisitInfoMation> queryFuture(int userId);
List<VisitUser> getUserList(@Param("business_id") int business_id); List<VisitUser> getUserList(@Param("business_id") int business_id);
List<VisitInfoMation> findByUser(VisitUser visitUser);
} }
...@@ -5,8 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; ...@@ -5,8 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*; import lombok.*;
import org.rcisoft.core.entity.CyIdIncreEntity; import org.rcisoft.core.entity.CyIdIncreEntity;
import org.springframework.data.annotation.Transient;
import java.math.BigInteger;
/** /**
* Created with cy on 2022年11月16日 下午4:30:18. * Created with cy on 2022年11月16日 下午4:30:18.
...@@ -24,11 +23,24 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> { ...@@ -24,11 +23,24 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> {
@Excel(name = "访问记录id", orderNum = "0", width = 20) @Excel(name = "访问记录id", orderNum = "0", width = 20)
private Integer visitId; private Integer visitId;
/**
* @desc 访客id
* @column user_id
* @default
*/
private Integer userId;
/** /**
* 访客用户的guid * 访客用户的guid
*/ */
private String personId; private String personId;
/**
* 是否到访
*/
@Transient
private String visitStatus;
/** /**
* @desc 访客姓名 * @desc 访客姓名
* @column user_name * @column user_name
...@@ -45,11 +57,6 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> { ...@@ -45,11 +57,6 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> {
@Excel(name = "访客手机号", orderNum = "2", width = 20) @Excel(name = "访客手机号", orderNum = "2", width = 20)
private String visitPhone; private String visitPhone;
// /**
// * 访客对应的捷顺ID
// */
// private String personId;
private VisitInfoMation visitInfo; private VisitInfoMation visitInfo;
public VisitUser() { public VisitUser() {
......
...@@ -6,6 +6,7 @@ import org.rcisoft.sys.visit.dto.ImportVistInfoDTO; ...@@ -6,6 +6,7 @@ import org.rcisoft.sys.visit.dto.ImportVistInfoDTO;
import org.rcisoft.sys.visit.entity.VisitInfoMation; import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.rcisoft.core.model.CyPersistModel; import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.model.CyPageInfo; import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.sys.visit.entity.VisitUser;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -96,4 +97,11 @@ public interface VisitInfomationService { ...@@ -96,4 +97,11 @@ public interface VisitInfomationService {
int exportEmptyTemplate(HttpServletResponse response); int exportEmptyTemplate(HttpServletResponse response);
ImportVistInfoDTO importUserExcel(MultipartFile file) throws ParseException; ImportVistInfoDTO importUserExcel(MultipartFile file) throws ParseException;
/**
* 根据访客信息查询邀访信息
* @param
* @return
*/
List<VisitInfoMation> findByUser(VisitUser visitUser);
} }
...@@ -145,11 +145,13 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos ...@@ -145,11 +145,13 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
sysUser.setPersonId(UUID.randomUUID().toString()); sysUser.setPersonId(UUID.randomUUID().toString());
sysUserRepositorys.insert(sysUser); sysUserRepositorys.insert(sysUser);
u.setPersonId(sysUser.getPersonId()); u.setPersonId(sysUser.getPersonId());
u.setUserId(sysUser.getBusinessId());
} else { } else {
// 存在覆盖 // 存在覆盖
sysUser.setBusinessId(sysUserList.get(0).getBusinessId()); sysUser.setBusinessId(sysUserList.get(0).getBusinessId());
sysUserRepositorys.updateSysUser(sysUser); sysUserRepositorys.updateSysUser(sysUser);
u.setPersonId(sysUserList.get(0).getPersonId()); u.setPersonId(sysUserList.get(0).getPersonId());
u.setUserId(sysUserList.get(0).getBusinessId());
} }
u.setVisitId(visitInfomation.getBusinessId()); u.setVisitId(visitInfomation.getBusinessId());
u.setNormal(); u.setNormal();
...@@ -720,6 +722,11 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos ...@@ -720,6 +722,11 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
return importVistInfoDTO; return importVistInfoDTO;
} }
@Override
public List<VisitInfoMation> findByUser(VisitUser visitUser) {
return baseMapper.findByUser(visitUser);
}
void errorText(String error, ImportVistInfoDTO importVistInfoDTO, List<Map<Integer, List<String>>> maps, String fileName) { void errorText(String error, ImportVistInfoDTO importVistInfoDTO, List<Map<Integer, List<String>>> maps, String fileName) {
List<String> strings = new ArrayList<String>(); List<String> strings = new ArrayList<String>();
......
...@@ -90,3 +90,7 @@ wx: ...@@ -90,3 +90,7 @@ wx:
appId: wx16cfb2d12e4ab57c appId: wx16cfb2d12e4ab57c
secret: 37556072ad536b8d9d6cf5fb638fec88 secret: 37556072ad536b8d9d6cf5fb638fec88
timeOut: 3600 timeOut: 3600
jieLink:
apiUrl: http://192.168.18.192:8091
account: 9999
pwd: 123456
\ No newline at end of file
...@@ -34,13 +34,11 @@ ...@@ -34,13 +34,11 @@
<if test="entity.flag !=null and entity.flag != '' "> <if test="entity.flag !=null and entity.flag != '' ">
and flag = #{entity.flag} and flag = #{entity.flag}
</if> </if>
<if test="entity.userId !=null">
// todo and user_id = #{entity.userId}
<if test="entity.delFlag !=null and entity.delFlag != '' ">
and del_flag = #{entity.delFlag}
</if> </if>
<if test="entity.delFlag !=null and entity.delFlag != '' "> <if test="entity.dateOfAttendance !=null and entity.dateOfAttendance != '' ">
and del_flag = #{entity.delFlag} and date_of_attendance = #{entity.dateOfAttendance}
</if> </if>
</select> </select>
...@@ -78,6 +76,7 @@ ...@@ -78,6 +76,7 @@
insert into attendance_sync insert into attendance_sync
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="entity.name != null">name ,</if> <if test="entity.name != null">name ,</if>
<if test="entity.userId != null">user_id ,</if>
<if test="entity.phone != null">phone ,</if> <if test="entity.phone != null">phone ,</if>
<if test="entity.deptId != null">dept_id ,</if> <if test="entity.deptId != null">dept_id ,</if>
<if test="entity.deptLabel != null">dept_label ,</if> <if test="entity.deptLabel != null">dept_label ,</if>
...@@ -96,6 +95,7 @@ ...@@ -96,6 +95,7 @@
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="entity.name != null">#{entity.name},</if> <if test="entity.name != null">#{entity.name},</if>
<if test="entity.userId != null">#{entity.userId},</if>
<if test="entity.phone != null">#{entity.phone},</if> <if test="entity.phone != null">#{entity.phone},</if>
<if test="entity.deptId != null">#{entity.deptId},</if> <if test="entity.deptId != null">#{entity.deptId},</if>
<if test="entity.deptLabel != null">#{entity.deptLabel},</if> <if test="entity.deptLabel != null">#{entity.deptLabel},</if>
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
SELECT SELECT
dr.record_id,su.name,dr.tenement_type,dr.create_date,dr.device_type,dr.device_name,dr.card_type,dr.record_type,dr.card_type_label,dr.abnormal dr.record_id,su.name,dr.tenement_type,dr.create_date,dr.device_type,dr.device_name,dr.card_type,dr.record_type,dr.card_type_label,dr.abnormal
FROM door_record_2022 dr FROM door_record_2022 dr
left JOIN sys_user su ON dr.person_id = su.person_id left JOIN sys_user su ON dr.user_id = su.business_id
WHERE dr.del_flag = 0 WHERE dr.del_flag = 0
<if test="entity.deviceType !=null and entity.deviceType != '' "> <if test="entity.deviceType !=null and entity.deviceType != '' ">
and dr.device_type = #{entity.deviceType} and dr.device_type = #{entity.deviceType}
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
dr.card_type_label, dr.card_type_label,
dr.abnormal dr.abnormal
FROM door_record_2022 dr FROM door_record_2022 dr
left JOIN sys_user su ON dr.person_id = su.person_id left JOIN sys_user su ON dr.user_id = su.business_id
WHERE dr.del_flag = 0 WHERE dr.del_flag = 0
and record_id = #{recordId} and record_id = #{recordId}
</select> </select>
......
...@@ -23,16 +23,20 @@ ...@@ -23,16 +23,20 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/> <result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/> <result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<collection property="userList" ofType="org.rcisoft.sys.visit.entity.VisitUser" column="business_id" select="getUserList"/> <collection property="userList" ofType="org.rcisoft.sys.visit.entity.VisitUser" column="business_id"
select="getUserList"/>
</resultMap> </resultMap>
<select id="getUserList" resultType="org.rcisoft.sys.visit.entity.VisitUser"> <select id="getUserList" resultType="org.rcisoft.sys.visit.entity.VisitUser">
select user_name,visit_phone from visit_user where visit_id = #{business_id} select user_name, visit_phone
from visit_user
where visit_id = #{business_id}
</select> </select>
<select id="queryVisitInfomations" resultMap="BaseResultMap"> <select id="queryVisitInfomations" resultMap="BaseResultMap">
select select
vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time from visit_infomation vi vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time
from visit_infomation vi
where 1=1 where 1=1
<if test="entity.createDateBegin !=null"> <if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin} and vi.create_date >= #{entity.createDateBegin}
...@@ -102,7 +106,8 @@ ...@@ -102,7 +106,8 @@
<select id="queryVisitInfomationsPaged" resultMap="BaseResultMap"> <select id="queryVisitInfomationsPaged" resultMap="BaseResultMap">
select select
vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.visit_reason_other,vi.create_date,vi.visit_reason_code,vi.visit_reason,vi.visit_region_code,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time from visit_infomation vi vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.visit_reason_other,vi.create_date,vi.visit_reason_code,vi.visit_reason,vi.visit_region_code,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time
from visit_infomation vi
where 1=1 and del_flag = 0 where 1=1 and del_flag = 0
<if test="entity.createDateBegin !=null"> <if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin} and vi.create_date >= #{entity.createDateBegin}
...@@ -122,7 +127,7 @@ ...@@ -122,7 +127,7 @@
#{code} #{code}
</foreach> </foreach>
<if test="entity.boolExistOtherReason !=null"> <if test="entity.boolExistOtherReason !=null">
or LENGTH(vi.visit_reason_other) > 0 or LENGTH(vi.visit_reason_other) > 0
</if> </if>
</if> </if>
<if test="entity.visitRegionCodes !=null and entity.visitRegionCodes.length > 0"> <if test="entity.visitRegionCodes !=null and entity.visitRegionCodes.length > 0">
...@@ -168,17 +173,18 @@ ...@@ -168,17 +173,18 @@
vi.create_date desc vi.create_date desc
</if> </if>
<if test="entity.sort == '1'.toString()"> <if test="entity.sort == '1'.toString()">
vi.create_date vi.create_date desc
</if> </if>
<if test="entity.sort == '2'.toString()"> <if test="entity.sort == '2'.toString()">
vi.visit_date vi.visit_real_time desc
</if> </if>
</if> </if>
</select> </select>
<select id="queryVisitList" resultMap="BaseResultMap"> <select id="queryVisitList" resultMap="BaseResultMap">
select select
vi.business_id,vi.user_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time from visit_infomation vi vi.business_id,vi.user_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time
from visit_infomation vi
where del_flag=0 where del_flag=0
<if test="entity.createDateBegin !=null"> <if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin} and vi.create_date >= #{entity.createDateBegin}
...@@ -247,7 +253,8 @@ ...@@ -247,7 +253,8 @@
</select> </select>
<select id="queryVisitById" resultMap="BaseResultMap"> <select id="queryVisitById" resultMap="BaseResultMap">
select vi.business_id,vi.user_name,vi.user_id,vi.visit_reason_code,vi.visit_reason_other,vi.visit_region_code,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time,vi.del_flag, select
vi.business_id,vi.user_name,vi.user_id,vi.visit_reason_code,vi.visit_region_code,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time,vi.del_flag,
vi.visit_date,vi.visit_time,vi.visit_status vi.visit_date,vi.visit_time,vi.visit_status
from visit_infomation vi from visit_infomation vi
where vi.del_flag='0' where vi.del_flag='0'
...@@ -278,21 +285,39 @@ ...@@ -278,21 +285,39 @@
</select> </select>
<select id="queryPast" resultMap="BaseResultMap"> <select id="queryPast" resultMap="BaseResultMap">
select vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time, select vi.business_id,
vi.visit_date,vi.visit_time,vi.visit_status vi.user_name,
vi.dept_name,
vi.post_name,
vi.create_date,
vi.visit_reason,
vi.visit_region,
vi.visit_real_time,
vi.visit_date,
vi.visit_time,
vi.visit_status
from visit_infomation vi from visit_infomation vi
where 1=1 where 1 = 1
and vi.visit_date = CURDATE() and vi.visit_date = CURDATE()
and vi.user_id = #{userId} and vi.user_id = #{userId}
and visit_real_time &lt;= current_timestamp and visit_real_time &lt;= current_timestamp
ORDER BY visit_real_time DESC ORDER BY visit_real_time DESC
</select> </select>
<select id="queryFuture" resultMap="BaseResultMap"> <select id="queryFuture" resultMap="BaseResultMap">
select vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time, select vi.business_id,
vi.visit_date,vi.visit_time,vi.visit_status vi.user_name,
vi.dept_name,
vi.post_name,
vi.create_date,
vi.visit_reason,
vi.visit_region,
vi.visit_real_time,
vi.visit_date,
vi.visit_time,
vi.visit_status
from visit_infomation vi from visit_infomation vi
where 1=1 where 1 = 1
and vi.visit_date = CURDATE() and vi.visit_date = CURDATE()
and vi.user_id = #{userId} and vi.user_id = #{userId}
and visit_real_time >= current_timestamp and visit_real_time >= current_timestamp
...@@ -301,9 +326,10 @@ ...@@ -301,9 +326,10 @@
<select id="queryVisitInfomationsByUserIdPaged" resultMap="BaseResultMap"> <select id="queryVisitInfomationsByUserIdPaged" resultMap="BaseResultMap">
select select
vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.visit_reason_other,vi.create_date,vi.visit_reason_code,vi.visit_reason,vi.visit_region_code,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time from visit_infomation vi vi.business_id,vi.user_name,vi.dept_name,vi.post_name,vi.visit_reason_other,vi.create_date,vi.visit_reason_code,vi.visit_reason,vi.visit_region_code,vi.visit_region,vi.visit_date,vi.visit_time,vi.visit_status,vi.visit_real_time
from visit_infomation vi
where 1=1 and del_flag = 0 where 1=1 and del_flag = 0
and vi.user_id = #{userId} and vi.user_id = #{userId}
<if test="entity.createDateBegin !=null"> <if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin} and vi.create_date >= #{entity.createDateBegin}
</if> </if>
...@@ -376,4 +402,27 @@ ...@@ -376,4 +402,27 @@
</if> </if>
</select> </select>
<select id="findByUser" resultType="org.rcisoft.sys.visit.entity.VisitInfoMation">
select vi.business_id,
vi.user_name,
vi.dept_name,
vi.post_name,
vi.create_date,
vi.visit_reason,
vi.visit_region,
vi.visit_date,
vi.visit_time,
vi.visit_status,
vu.user_name,
vu.visit_phone
from visit_infomation vi
left join visit_user vu on vi.business_id = vu.visit_id
where vi.del_flag = '0'
and vi.flag = '1'
<if test="visitStatus!=null and visitStatus!=''">
and vi.visit_status =#{visitStatus}
</if>
and vu.person_id =#{personId}
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment