Commit f7c408f3 authored by 王琮's avatar 王琮

修改定时任务

parent fb71a47f
......@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
@RestController
@RequestMapping("/attendance")
......
......@@ -3,15 +3,9 @@ package org.rcisoft.sys.attendance.dao;
import org.apache.ibatis.annotations.Mapper;
import org.rcisoft.core.mapper.CyBaseMapper;
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.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.metadata.IPage;
import javax.mail.MailSessionDefinition;
import java.util.List;
/**
......@@ -29,6 +23,6 @@ public interface AttendanceSyncRepository extends CyBaseMapper<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> {
@Excel(name = "姓名", orderNum = "1", width = 20)
private String name;
private Integer userId;
/**
* @desc 手机号码
* @column phone
......
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.entity.Attendance;
import org.rcisoft.sys.attendance.entity.AttendanceSync;
import org.rcisoft.sys.attendance.service.AttendanceService;
import org.rcisoft.sys.sysuser.dao.SysUserRepositorys;
import org.rcisoft.sys.sysuser.entity.SysUser;
import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
......@@ -32,7 +30,7 @@ public class AttendanceSyncSchedule {
// @Scheduled(cron = "0 0 0,15,16,17 * * ?")
// 每隔5秒执行一次
@Scheduled(cron = "0 */1 * * * ?")
@Scheduled(cron = "0 */10 * * * ?")
public void execute() {
Attendance attendance = new Attendance();
// 查询昨日所有考勤
......@@ -41,6 +39,7 @@ public class AttendanceSyncSchedule {
for (int i = 0; i < all.size(); i++) {
//通过id查询用户表
SysUser sysUser = sysUserRepositorys.querySysUsersById(all.get(i).getUserId());
attendanceSync.setUserId(sysUser.getBusinessId());
attendanceSync.setName(all.get(i).getPeopleName());
attendanceSync.setPhone(sysUser.getPhone());
attendanceSync.setDeptId(sysUser.getDeptId());
......@@ -62,7 +61,6 @@ public class AttendanceSyncSchedule {
attendanceSync.setCreateDate(new Date());
attendanceSync.setPassageTime(all.get(i).getCrossTime());
// 判断考勤是否已经存在,已经存在不会添加
//查询条件 查询比当前时间大的第一条记录
if (attendanceSyncRepository.queryAttendanceSyncs(attendanceSync).size() == 0)
attendanceSyncRepository.addAttendanceSync(attendanceSync);
}
......
package org.rcisoft.sys.attendance.service.impl;
import cn.hutool.core.util.NumberUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.core.jwt.util.CyJwtUtil;
import org.rcisoft.core.util.CyUserUtil;
......@@ -125,7 +123,7 @@ public class AttendanceServiceImpl implements AttendanceService {
SysDictData data = shiftList.stream().filter(s -> s.getDictLabel()
.equals(attendance.getNltBz())).findFirst().orElse(null);
attendance.setKqFlag("异常");
if (data != null) {
if (data.getRemarks() != null) {
// 班次最小时长
BigDecimal xz = new BigDecimal(data.getRemarks());
if (xz.compareTo(attendance.getDuration()) < 0)
......
......@@ -54,5 +54,7 @@ public interface VisitInfomationRepository extends CyBaseMapper<VisitInfoMation>
List<VisitInfoMation> queryFuture(int userId);
List<VisitUser> getUserList(@Param("business_id") int business_id);
List<VisitInfoMation> findByUser(VisitUser visitUser);
}
......@@ -5,8 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import org.rcisoft.core.entity.CyIdIncreEntity;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
/**
* Created with cy on 2022年11月16日 下午4:30:18.
......@@ -24,11 +23,24 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> {
@Excel(name = "访问记录id", orderNum = "0", width = 20)
private Integer visitId;
/**
* @desc 访客id
* @column user_id
* @default
*/
private Integer userId;
/**
* 访客用户的guid
*/
private String personId;
/**
* 是否到访
*/
@Transient
private String visitStatus;
/**
* @desc 访客姓名
* @column user_name
......@@ -45,11 +57,6 @@ public class VisitUser extends CyIdIncreEntity<VisitUser> {
@Excel(name = "访客手机号", orderNum = "2", width = 20)
private String visitPhone;
// /**
// * 访客对应的捷顺ID
// */
// private String personId;
private VisitInfoMation visitInfo;
public VisitUser() {
......
......@@ -6,6 +6,7 @@ import org.rcisoft.sys.visit.dto.ImportVistInfoDTO;
import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.sys.visit.entity.VisitUser;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
......@@ -96,4 +97,11 @@ public interface VisitInfomationService {
int exportEmptyTemplate(HttpServletResponse response);
ImportVistInfoDTO importUserExcel(MultipartFile file) throws ParseException;
/**
* 根据访客信息查询邀访信息
* @param
* @return
*/
List<VisitInfoMation> findByUser(VisitUser visitUser);
}
......@@ -145,11 +145,13 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
sysUser.setPersonId(UUID.randomUUID().toString());
sysUserRepositorys.insert(sysUser);
u.setPersonId(sysUser.getPersonId());
u.setUserId(sysUser.getBusinessId());
} else {
// 存在覆盖
sysUser.setBusinessId(sysUserList.get(0).getBusinessId());
sysUserRepositorys.updateSysUser(sysUser);
u.setPersonId(sysUserList.get(0).getPersonId());
u.setUserId(sysUserList.get(0).getBusinessId());
}
u.setVisitId(visitInfomation.getBusinessId());
u.setNormal();
......@@ -720,6 +722,11 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
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) {
List<String> strings = new ArrayList<String>();
......
......@@ -34,13 +34,11 @@
<if test="entity.flag !=null and entity.flag != '' ">
and flag = #{entity.flag}
</if>
// todo
<if test="entity.delFlag !=null and entity.delFlag != '' ">
and del_flag = #{entity.delFlag}
<if test="entity.userId !=null">
and user_id = #{entity.userId}
</if>
<if test="entity.delFlag !=null and entity.delFlag != '' ">
and del_flag = #{entity.delFlag}
<if test="entity.dateOfAttendance !=null and entity.dateOfAttendance != '' ">
and date_of_attendance = #{entity.dateOfAttendance}
</if>
</select>
......@@ -78,6 +76,7 @@
insert into attendance_sync
<trim prefix="(" suffix=")" suffixOverrides=",">
<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.deptId != null">dept_id ,</if>
<if test="entity.deptLabel != null">dept_label ,</if>
......@@ -96,6 +95,7 @@
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<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.deptId != null">#{entity.deptId},</if>
<if test="entity.deptLabel != null">#{entity.deptLabel},</if>
......
......@@ -23,16 +23,20 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<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>
<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 id="queryVisitInfomations" 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_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
<if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin}
......@@ -102,7 +106,8 @@
<select id="queryVisitInfomationsPaged" resultMap="BaseResultMap">
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
<if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin}
......@@ -122,7 +127,7 @@
#{code}
</foreach>
<if test="entity.boolExistOtherReason !=null">
or LENGTH(vi.visit_reason_other) > 0
or LENGTH(vi.visit_reason_other) > 0
</if>
</if>
<if test="entity.visitRegionCodes !=null and entity.visitRegionCodes.length > 0">
......@@ -178,7 +183,8 @@
<select id="queryVisitList" resultMap="BaseResultMap">
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
<if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin}
......@@ -247,7 +253,8 @@
</select>
<select id="queryVisitById" resultMap="BaseResultMap">
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,
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
from visit_infomation vi
where vi.del_flag='0'
......@@ -278,21 +285,39 @@
</select>
<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,
vi.visit_date,vi.visit_time,vi.visit_status
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,
vi.visit_date,
vi.visit_time,
vi.visit_status
from visit_infomation vi
where 1=1
where 1 = 1
and vi.visit_date = CURDATE()
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
</select>
<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,
vi.visit_date,vi.visit_time,vi.visit_status
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,
vi.visit_date,
vi.visit_time,
vi.visit_status
from visit_infomation vi
where 1=1
where 1 = 1
and vi.visit_date = CURDATE()
and vi.user_id = #{userId}
and visit_real_time >= current_timestamp
......@@ -301,9 +326,10 @@
<select id="queryVisitInfomationsByUserIdPaged" resultMap="BaseResultMap">
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
and vi.user_id = #{userId}
and vi.user_id = #{userId}
<if test="entity.createDateBegin !=null">
and vi.create_date >= #{entity.createDateBegin}
</if>
......@@ -376,4 +402,27 @@
</if>
</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>
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