diff --git a/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java b/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java index bc6d151..c53e65c 100644 --- a/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java +++ b/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java @@ -35,10 +35,13 @@ public class DeviceNoSynchronizationJobHandler { if(null!=pa){ //System.out.println(pa); + + + if(pa.getDeviceNo().equals(ismTag.getDeviceNo())){ - //if(2==1){ - //System.out.println(pa); - //System.out.println("数据一致无需同步"); + /*if(ismTag.getWorkNumber().equals("301345")||ismTag.getWorkNumber().equals("303192")||ismTag.getWorkNumber().equals("200053")||ismTag.getWorkNumber().equals("201058")){ + System.out.println(ismTag); + }*/ }else{ XxlJobHelper.log("需更新:" + pa+"-----"+ismTag); pa.setDeviceNo(ismTag.getDeviceNo()); @@ -60,6 +63,26 @@ public class DeviceNoSynchronizationJobHandler { } } + //在此根据deviceNo查询hr库,看看有没有重复的,如果有,就把并非此次的deviceNo对应工号的本deviceNo 都设为空 + ArrayList personArchivesByDeviceNo = ismTagService.getPersonArchivesByDeviceNo(pa.getDeviceNo()); + if(personArchivesByDeviceNo.size()>1){ + for (int i = 0; i < personArchivesByDeviceNo.size();i++){ + if(personArchivesByDeviceNo.get(i).getNumber().equals(pa.getNumber())){ + + }else{ + String toSetEmptyNumber = personArchivesByDeviceNo.get(i).getNumber(); + PersonArchives pa1 = ismTagService.getPersonArchivesByNumber(toSetEmptyNumber); + pa1.setDeviceNo(""); + ismTagService.update2point87(pa1); + ismTagService.update5point33(pa1); + ismTagService.updateLowcodeOnline(pa1); + XxlJobHelper.log("成功更新:" + pa1); + count++; + } + } + } + + } } System.out.println("更新了"+count+"个"); diff --git a/src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java b/src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java index 3838536..e18c51e 100644 --- a/src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java +++ b/src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java @@ -3,9 +3,13 @@ package com.hxjt.dataupload.mapper; import com.hxjt.dataupload.model.entity.devicenohandle.PersonArchives; import org.apache.ibatis.annotations.Mapper; +import java.util.ArrayList; + @Mapper public interface PersonArchivesMapper { PersonArchives getPersonArchivesByNumber(String number); void updateDeviceNoForPersonArchives(PersonArchives personArchives); + + ArrayList getPersonArchivesByDeviceNo(String deviceNo); } diff --git a/src/main/java/com/hxjt/dataupload/service/IsmTagService.java b/src/main/java/com/hxjt/dataupload/service/IsmTagService.java index bf21e4c..fafcc9a 100644 --- a/src/main/java/com/hxjt/dataupload/service/IsmTagService.java +++ b/src/main/java/com/hxjt/dataupload/service/IsmTagService.java @@ -15,4 +15,6 @@ public interface IsmTagService { void update5point33(PersonArchives pa); void updateLowcodeOnline(PersonArchives pa); + + ArrayList getPersonArchivesByDeviceNo(String deviceNo); } diff --git a/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java b/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java index 7e94f13..ab946f3 100644 --- a/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java +++ b/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java @@ -43,5 +43,10 @@ public class IsmTagServiceImpl implements IsmTagService { public void updateLowcodeOnline(PersonArchives pa) { personArchivesMapper.updateDeviceNoForPersonArchives(pa); } + @DS("hrnewlowcodeprod") + @Override + public ArrayList getPersonArchivesByDeviceNo(String deviceNo) { + return personArchivesMapper.getPersonArchivesByDeviceNo(deviceNo); + } } diff --git a/src/main/resources/mapper/FxfxdxMapper.xml b/src/main/resources/mapper/FxfxdxMapper.xml index 9cf2716..4e017a1 100644 --- a/src/main/resources/mapper/FxfxdxMapper.xml +++ b/src/main/resources/mapper/FxfxdxMapper.xml @@ -416,11 +416,11 @@ - and i.FCHECKTIME >= '2025-01-01 00:00:00.000' + and i.FCHECKTIME >= '2025-09-18 00:00:00.000' ORDER BY - chuangjianshijian + chuangjianshijian desc + select number,admin_org,emp_type from man_cont where `deviceNo` = #{deviceNo} and company in ('309','224') and maindeparment not in ('104','268','271','275') and emp_type + + + \ No newline at end of file