Commit 0fc4c103 authored by gaoyingwei's avatar gaoyingwei

修改 同步中控考勤

parent 56bbd2e9
......@@ -362,6 +362,7 @@ public class ZKTecoServiceImpl implements IZKTecoService {
* }
*/
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
public boolean saveDoorRecordInfo(String startTime, String endTime) {
String apiUri = "/api/transaction/list";
int pageNo = 1;
......@@ -400,7 +401,7 @@ public class ZKTecoServiceImpl implements IZKTecoService {
return false;
}
} while (data.size() >= pageSize);
List<DoorRecord> doorRecordList = new ArrayList<>();
//整理入库
for (ZKTDoorRecordDto zktDoorRecordDto : list) {
SysUser sysUserData = null;
......@@ -478,9 +479,12 @@ public class ZKTecoServiceImpl implements IZKTecoService {
record.setCreateBy(null);
record.setCreateDate(new Date());
record.setUpdateDate(record.getCreateDate());
doorRecordService.saveRecordData(record);
// doorRecordService.saveRecordData(record);
doorRecordList.add(record);
// updateTest(record, sysUserData);
}
if (!doorRecordList.isEmpty())
doorRecordService.saveRecordDataList(doorRecordList);
return true;
}
......
......@@ -4,6 +4,7 @@ package org.rcisoft.sys.sysuser.dao;
import org.apache.ibatis.annotations.Mapper;
import org.rcisoft.core.mapper.CyBaseMapper;
import org.rcisoft.sys.attendance.entity.Attendance;
import org.rcisoft.sys.attendance.entity.AttendanceSync;
import org.rcisoft.sys.sysuser.dto.VisitInfoUserDTO;
import org.rcisoft.sys.sysuser.entity.DoorRecord;
import org.rcisoft.core.model.CyPageInfo;
......@@ -21,6 +22,8 @@ public interface DoorRecordRepository extends CyBaseMapper<DoorRecord> {
void saveRecordData(DoorRecord recordData);
int saveRecordDataList(@Param("list") List<DoorRecord> list);
List<DoorRecord> queryDoorRecords(@Param("entity") DoorRecord doorRecord);
/**
......
......@@ -75,6 +75,8 @@ public interface DoorRecordService {
void saveRecordData(DoorRecord data);
void saveRecordDataList(List<DoorRecord> data);
/**
* 分页查询 通行记录信息表
* @param doorRecord
......
......@@ -13,6 +13,7 @@ import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.util.CyEpExcelUtil;
import org.rcisoft.core.service.CyBaseService;
import org.rcisoft.sys.attendance.entity.AttendanceSync;
import org.rcisoft.sys.attendance.util.TimeUtils;
import org.rcisoft.sys.sysuser.dao.DoorRecordRepository;
import org.rcisoft.sys.sysuser.dao.SysDictDataRepositorys;
......@@ -32,6 +33,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
......@@ -295,6 +297,19 @@ public class DoorRecordServiceImpl extends ServiceImpl<DoorRecordRepository, Doo
baseMapper.saveRecordData(data);
}
@Override
public void saveRecordDataList(List<DoorRecord> list) {
// 循环批量添加数据
int toIndex = 1000;
for (int i = 0; i < list.size(); i += 1000) {
if (i + 1000 > list.size()) {
toIndex = list.size() - i;
}
List<DoorRecord> list1 = list.subList(i, i + toIndex);
baseMapper.saveRecordDataList(list1);
}
}
/**
* 分页查询 通行记录信息表
* @return
......
......@@ -119,7 +119,18 @@
</trim>
</insert>
<insert id="saveRecordDataList" parameterType="org.rcisoft.sys.sysuser.entity.DoorRecord"
useGeneratedKeys="true">
insert into door_record (record_id, user_id ,person_id ,`source` ,pin ,mobile ,tenement_type ,remark ,
device_id ,device_name ,device_type ,card_type ,card_no ,cross_time ,record_type ,event_type ,flag ,
del_flag ,create_date ,update_date ) values
<foreach collection="list" item="item" index="index" separator=",">
( #{item.recordId},#{item.userId},#{item.personId},#{item.source},#{item.pin},#{item.mobile},#{item.tenementType},
#{item.remark},#{item.deviceId},#{item.deviceName} ,#{item.deviceType} ,#{item.cardType},#{item.cardNo},
#{item.crossTime},#{item.recordType},#{item.eventType},#{item.flag},#{item.delFlag},#{item.createDate},
#{item.updateDate} )
</foreach>
</insert>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
<select id="queryDoorRecords" resultMap="BaseResultMap">
......
......@@ -478,13 +478,13 @@
<select id="querySysUsersByPersonId" resultMap="BaseResultMap">
SELECT *
FROM sys_user
WHERE person_id = #{personId}
WHERE person_id = #{personId} and del_flag = 0
</select>
<select id="querySysUsersByPin" resultMap="BaseResultMap">
SELECT *
FROM sys_user
WHERE pin = #{pin}
WHERE pin = #{pin} and del_flag = 0
</select>
......
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