From 21c2291142f66b61590413d4d28f8155d60f9eeb Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Thu, 15 May 2025 10:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E5=A4=A9=E5=90=8C=E6=AD=A5=E7=A7=91?= =?UTF-8?q?=E8=BF=9C=E5=BA=93=E4=B8=AD=E7=9A=84=E5=AE=9A=E4=BD=8D=E5=8D=A1?= =?UTF-8?q?deviceNo=E8=87=B3=E4=B8=89=E4=B8=AAhr=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceNoSynchronizationJobHandler.java | 30 ++++++++++++++ .../mapper/PersonArchivesMapper.java | 11 +++++ .../entity/devicenohandle/PersonArchives.java | 41 +++++++++++++++++++ .../dataupload/service/IsmTagService.java | 9 ++++ .../service/impl/IsmTagServiceImpl.java | 29 ++++++++++++- src/main/resources/application-dev.yml | 10 +++-- .../resources/mapper/PersonArchivesMapper.xml | 18 ++++++++ 7 files changed, 143 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java create mode 100644 src/main/java/com/hxjt/dataupload/model/entity/devicenohandle/PersonArchives.java create mode 100644 src/main/resources/mapper/PersonArchivesMapper.xml 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 cbe2a74..0b3ae6f 100644 --- a/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java +++ b/src/main/java/com/hxjt/dataupload/jobhandler/devicenohandle/DeviceNoSynchronizationJobHandler.java @@ -2,6 +2,7 @@ package com.hxjt.dataupload.jobhandler.devicenohandle; import com.google.common.collect.BoundType; import com.hxjt.dataupload.model.entity.devicenohandle.IsmTag; +import com.hxjt.dataupload.model.entity.devicenohandle.PersonArchives; import com.hxjt.dataupload.service.IsmTagService; import com.xxl.job.core.handler.annotation.XxlJob; import org.slf4j.Logger; @@ -24,10 +25,39 @@ public class DeviceNoSynchronizationJobHandler { public void execute(String param) { //查出科远 ArrayList ismTagList= ismTagService.getIsmTagList(); + int count = 0; for (IsmTag ismTag:ismTagList) { //System.out.println(ismTag); + //根据workNumber查询hr_new.person_archives表 + PersonArchives pa = ismTagService.getPersonArchivesByNumber(ismTag.getWorkNumber()); + //System.out.println(pa); + if(null!=pa){ + //System.out.println(pa); + //if(pa.getDeviceNo().equals(ismTag.getDeviceNo())){ + if(2==1){ + //System.out.println(pa); + //System.out.println("数据一致无需同步"); + }else{ + pa.setDeviceNo(ismTag.getDeviceNo()); + try{ + + ismTagService.update2point87(pa); + ismTagService.update5point33(pa); + ismTagService.updateLowcodeOnline(pa); + //System.out.println(pa); + count++; + + }catch(Exception e){ + System.out.println(pa); + System.out.println("更新失败"); + e.printStackTrace(); + } + + } + } } + 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 new file mode 100644 index 0000000..3838536 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/mapper/PersonArchivesMapper.java @@ -0,0 +1,11 @@ +package com.hxjt.dataupload.mapper; + +import com.hxjt.dataupload.model.entity.devicenohandle.PersonArchives; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PersonArchivesMapper { + PersonArchives getPersonArchivesByNumber(String number); + + void updateDeviceNoForPersonArchives(PersonArchives personArchives); +} diff --git a/src/main/java/com/hxjt/dataupload/model/entity/devicenohandle/PersonArchives.java b/src/main/java/com/hxjt/dataupload/model/entity/devicenohandle/PersonArchives.java new file mode 100644 index 0000000..8362aef --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/model/entity/devicenohandle/PersonArchives.java @@ -0,0 +1,41 @@ +package com.hxjt.dataupload.model.entity.devicenohandle; + +public class PersonArchives { + + private String id; + private String number; + private String deviceNo; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getDeviceNo() { + return deviceNo; + } + + public void setDeviceNo(String deviceNo) { + this.deviceNo = deviceNo; + } + + @Override + public String toString() { + return "PersonArchives{" + + "id='" + id + '\'' + + ", number='" + number + '\'' + + ", deviceNo='" + deviceNo + '\'' + + '}'; + } +} diff --git a/src/main/java/com/hxjt/dataupload/service/IsmTagService.java b/src/main/java/com/hxjt/dataupload/service/IsmTagService.java index 03c2d48..bf21e4c 100644 --- a/src/main/java/com/hxjt/dataupload/service/IsmTagService.java +++ b/src/main/java/com/hxjt/dataupload/service/IsmTagService.java @@ -1,9 +1,18 @@ package com.hxjt.dataupload.service; import com.hxjt.dataupload.model.entity.devicenohandle.IsmTag; +import com.hxjt.dataupload.model.entity.devicenohandle.PersonArchives; import java.util.ArrayList; public interface IsmTagService { ArrayList getIsmTagList(); + + PersonArchives getPersonArchivesByNumber(String number); + + void update2point87(PersonArchives personArchives); + + void update5point33(PersonArchives pa); + + void updateLowcodeOnline(PersonArchives pa); } 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 7fc3a81..7e94f13 100644 --- a/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java +++ b/src/main/java/com/hxjt/dataupload/service/impl/IsmTagServiceImpl.java @@ -2,19 +2,46 @@ package com.hxjt.dataupload.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; import com.hxjt.dataupload.mapper.IsmTagMapper; +import com.hxjt.dataupload.mapper.PersonArchivesMapper; import com.hxjt.dataupload.model.entity.devicenohandle.IsmTag; +import com.hxjt.dataupload.model.entity.devicenohandle.PersonArchives; import com.hxjt.dataupload.service.IsmTagService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @Service -@DS("syncplant") + public class IsmTagServiceImpl implements IsmTagService { @Autowired IsmTagMapper ismTagMapper; + @Autowired + PersonArchivesMapper personArchivesMapper; + @DS("syncplant") @Override public ArrayList getIsmTagList() { return ismTagMapper.getIsmTagList(); } + @DS("hrnew87") + @Override + public PersonArchives getPersonArchivesByNumber(String number) { + return personArchivesMapper.getPersonArchivesByNumber(number); + } + + @DS("hrnew87") + @Override + public void update2point87(PersonArchives personArchives) { + personArchivesMapper.updateDeviceNoForPersonArchives(personArchives); + } + @DS("hrnewlowcodetest") + @Override + public void update5point33(PersonArchives pa) { + personArchivesMapper.updateDeviceNoForPersonArchives(pa); + } + @DS("hrnewlowcodeprod") + @Override + public void updateLowcodeOnline(PersonArchives pa) { + personArchivesMapper.updateDeviceNoForPersonArchives(pa); + } + } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index bb524bb..f0f4b96 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -85,8 +85,9 @@ xxl: job: admin: #调度中心部署地址,多个配置逗号分隔 "http://address01,http://address02" - addresses: http://172.20.2.57:8080/xxl-job-admin - #addresses: http://127.0.0.1:8080/xxl-job-admin + #上线 + #addresses: http://172.20.2.57:8080/xxl-job-admin + addresses: http://127.0.0.1:8080/xxl-job-admin #执行器token,非空时启用 xxl-job, access token accessToken: data_upload executor: @@ -106,8 +107,9 @@ xxl: mqtt: username: 10@ningyanghuagongchany20250508114250 password: ce07f3c284084b42b674017b72fe73f2 - #hostUrl: tcp://112.245.55.112:18183 - hostUrl: tcp://172.20.2.57:1883 + #上线 + hostUrl: tcp://112.245.55.112:18183 + #hostUrl: tcp://172.20.2.57:1883 clientId: 10@ningyanghuagongchany20250508114250 sensorDataTopic: /iot/10@ningyanghuagongchany20250422172632/thirdParty/sensorData timeout: 100 diff --git a/src/main/resources/mapper/PersonArchivesMapper.xml b/src/main/resources/mapper/PersonArchivesMapper.xml new file mode 100644 index 0000000..bfe65e2 --- /dev/null +++ b/src/main/resources/mapper/PersonArchivesMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + UPDATE person_archives + SET deviceNo = #{deviceNo} + WHERE number = #{number} + + + + + \ No newline at end of file