From f7ffd615c5f880b69ef70bb1104fbcc7a92b274f Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Sat, 11 Oct 2025 11:53:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=9A=E4=BD=8D=E5=8D=A1?= =?UTF-8?q?=E5=90=8C=E6=AD=A5bug=20=E5=B7=A1=E6=A3=80=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceNoSynchronizationJobHandler.java | 29 +++++++++++++++++-- .../mapper/PersonArchivesMapper.java | 4 +++ .../dataupload/service/IsmTagService.java | 2 ++ .../service/impl/IsmTagServiceImpl.java | 5 ++++ src/main/resources/mapper/FxfxdxMapper.xml | 4 +-- .../resources/mapper/PersonArchivesMapper.xml | 7 +++++ 6 files changed, 46 insertions(+), 5 deletions(-) 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