From e36c80ed35b68da58d93995e60ad9c512f9a5cb2 Mon Sep 17 00:00:00 2001 From: Angel <1050374295@qq.com> Date: Wed, 6 Dec 2023 18:55:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E8=AD=A6=E4=BF=A1=E6=81=AF=E6=B8=85?= =?UTF-8?q?=E6=B4=97=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=AE=9E=E6=9C=89=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E6=B8=85=E6=B4=97=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/JcjJjxxViewMysql.java | 2 + .../mapper/JcjJxxViewMysqlMapper.java | 2 + .../service/JcjJjxxViewMysqlService.java | 2 + .../impl/JcjJjxxViewMysqlServiceImpl.java | 5 + .../mysqloracletest/task/AlarmInfoTask.java | 176 +++++++++--------- .../mysqloracletest/task/UnitInfoTask.java | 9 +- .../mapper/JcjJjxxViewMysqlMapper.xml | 10 + 7 files changed, 110 insertions(+), 96 deletions(-) diff --git a/src/main/java/com/ssf/mysqloracletest/domain/JcjJjxxViewMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/JcjJjxxViewMysql.java index 559ccea..3078daa 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/JcjJjxxViewMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/JcjJjxxViewMysql.java @@ -782,4 +782,6 @@ public class JcjJjxxViewMysql implements Serializable { @TableField(value = "WDZB") private String WDZB; + @TableField(value = "STATUS") + private String STATUS; } \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/JcjJxxViewMysqlMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/JcjJxxViewMysqlMapper.java index 5337d69..264e582 100644 --- a/src/main/java/com/ssf/mysqloracletest/mapper/JcjJxxViewMysqlMapper.java +++ b/src/main/java/com/ssf/mysqloracletest/mapper/JcjJxxViewMysqlMapper.java @@ -13,4 +13,6 @@ public interface JcjJxxViewMysqlMapper extends BaseMapper { public int updateJjxxByJJBH(JcjJjxxViewMysql bean); public JcjJjxxViewMysql selectRecordOrderByRksj(); + + public int countJjxx(); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/JcjJjxxViewMysqlService.java b/src/main/java/com/ssf/mysqloracletest/service/JcjJjxxViewMysqlService.java index cf02d88..ec2e244 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/JcjJjxxViewMysqlService.java +++ b/src/main/java/com/ssf/mysqloracletest/service/JcjJjxxViewMysqlService.java @@ -17,4 +17,6 @@ public interface JcjJjxxViewMysqlService extends IService{ public JcjJjxxViewMysql selectRecordOrderByRksj(); + public int countJjxx(); + } diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/JcjJjxxViewMysqlServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/JcjJjxxViewMysqlServiceImpl.java index a7b3620..619b6a1 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/impl/JcjJjxxViewMysqlServiceImpl.java +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/JcjJjxxViewMysqlServiceImpl.java @@ -39,6 +39,11 @@ public class JcjJjxxViewMysqlServiceImpl extends ServiceImpl 0) { - - NjjxxTag = true; - - int count = countNjjxx / oncesCounts; - CountDownLatch latch = new CountDownLatch(count); - ExecutorService NjjxxPool = Executors.newFixedThreadPool(50); - - for (int i = 0; i <= count; i++) { - Map NjjxxMap = new HashMap(); - NjjxxMap.put("rowStart", i * oncesCounts); - NjjxxMap.put("rowEnd", (i + 1) * oncesCounts); - NjjxxPool.submit(() -> { - try { - List Njjxxs = jjxxViewMysqlService.lambdaQuery().list(); - for (JcjJjxxViewMysql Njjxx : Njjxxs) { - MetaAlarmInfo alarmInfo = new MetaAlarmInfo(); - - //设置目标字段的值 - //alarm_code<-----JJBH 接警编号 - alarmInfo.setAlarmCode(Njjxx.getJJBH()); - //police_receiver_name<-----JJRXM接警人姓名 - alarmInfo.setPoliceReceiverName(Njjxx.getJJRXM()); - //alarm_response_time<-----JJRQSJ接警日期时间 - alarmInfo.setAlarmResponseTime(Njjxx.getJJRQSJ()); - //alarm_response_content<-----BJNR接警报警内容 - alarmInfo.setAlarmResponseContent(Njjxx.getBJNR()); - //informant_name<-----BJR接警报警人 - alarmInfo.setInformantName(Njjxx.getBJR()); - //informant_time<-----BJDHSJ接警报警时间 - alarmInfo.setInformantTime(Njjxx.getBJDHSJ()); - //informant_phone<-----LXDH接警报警人联系电话 - alarmInfo.setInformantPhone(Njjxx.getLXDH()); - //alarm_response_type<-----BJLXMC报警类型名称 - alarmInfo.setAlarmResponseTypeName(Njjxx.getBJLXMC()); - //alarm_address<-----SFDD接警事发地址 - alarmInfo.setAlarmAddress(Njjxx.getSFDD()); - //alarm_response_unit<-----JJDWMC接警单位名称 - alarmInfo.setAlarmResponseUnit(Njjxx.getJJDWMC()); - if (Njjxx != null && Njjxx.getWDZB() != null && Njjxx.getJDZB() != null) { - //转换类型 - BigDecimal WDZBDecimal = new BigDecimal(Njjxx.getWDZB()); - BigDecimal JDZBDecimal = new BigDecimal(Njjxx.getJDZB()); - //longitude(经度)<-----JDZB经度坐标 - alarmInfo.setLongitude(JDZBDecimal); - //latitude(纬度)<-----WDZB纬度坐标 - alarmInfo.setLatitude(WDZBDecimal); - } else { - //longitude(经度)<-----JDZB经度坐标 - alarmInfo.setLongitude(null); - //latitude(纬度)<-----WDZB纬度坐标 - alarmInfo.setLatitude(null); - } - //确定一个数据是否唯一 - MetaAlarmInfo one = alarmInfoService.lambdaQuery().eq(MetaAlarmInfo::getAlarmCode, Njjxx.getJJBH()).one(); - if (one == null) { - alarmInfoService.save(alarmInfo); - logger.info("Njjxx-" + Njjxx.getJJBH() + ":插入成功"); - } else { - alarmInfoService.update(alarmInfo,new UpdateWrapper<>(alarmInfo)); - logger.info("Njjxx-" + Njjxx.getJJBH() + ":更新成功"); - } - } - } catch (Exception e) { - logger.info("Njjxxs:" + StringKit.getTrace(e)); - } - latch.countDown(); - }); - logger.info("NjjxxMap数据总量:" + countNjjxx + "," + "当前处理下标:" + NjjxxMap.get("rowStart") + "/" + NjjxxMap.get("rowEnd")); - } - - try { - // Wait for all threads to complete - latch.await(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - // 关闭线程池 - NjjxxPool.shutdown(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.isNull("STATUS"); + Page page = new Page<>(1, 1000); + List resultList = jjxxViewMysqlService.page(page, queryWrapper).getRecords(); + + CountDownLatch latch = new CountDownLatch(resultList.size()); + ExecutorService JjxxPool = Executors.newFixedThreadPool(5); + for (JcjJjxxViewMysql bean : resultList) { + JjxxPool.submit(() -> { + cleanJjxx(bean); + logger.info("清洗完成"); + latch.countDown(); + }); } + try { + // Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + // 关闭线程池 + JjxxPool.shutdown(); } catch (Exception e) { logger.info(StringKit.getTrace(e)); } + } + private void cleanJjxx(JcjJjxxViewMysql bean) { + JcjJjxxViewMysql jjxxViewMysqlCp = new JcjJjxxViewMysql(); + try { + BeanUtils.copyProperties(bean, jjxxViewMysqlCp); + MetaAlarmInfo alarmInfo = new MetaAlarmInfo(); + //设置目标字段的值 + //alarm_code<-----JJBH 接警编号 + alarmInfo.setAlarmCode(jjxxViewMysqlCp.getJJBH()); + //police_receiver_name<-----JJRXM接警人姓名 + alarmInfo.setPoliceReceiverName(jjxxViewMysqlCp.getJJRXM()); + //alarm_response_time<-----JJRQSJ接警日期时间 + alarmInfo.setAlarmResponseTime(jjxxViewMysqlCp.getJJRQSJ()); + //alarm_response_content<-----BJNR接警报警内容 + alarmInfo.setAlarmResponseContent(jjxxViewMysqlCp.getBJNR()); + //informant_name<-----BJR接警报警人 + alarmInfo.setInformantName(jjxxViewMysqlCp.getBJR()); + //informant_time<-----BJDHSJ接警报警时间 + alarmInfo.setInformantTime(jjxxViewMysqlCp.getBJDHSJ()); + //informant_phone<-----LXDH接警报警人联系电话 + alarmInfo.setInformantPhone(jjxxViewMysqlCp.getLXDH()); + //alarm_response_type<-----BJLXMC报警类型名称 + alarmInfo.setAlarmResponseTypeName(jjxxViewMysqlCp.getBJLXMC()); + //alarm_address<-----SFDD接警事发地址 + alarmInfo.setAlarmAddress(jjxxViewMysqlCp.getSFDD()); + //alarm_response_unit<-----JJDWMC接警单位名称 + alarmInfo.setAlarmResponseUnit(jjxxViewMysqlCp.getJJDWMC()); + + if (jjxxViewMysqlCp.getWDZB() != null) { + //转换类型 + BigDecimal WDZBDecimal = new BigDecimal(jjxxViewMysqlCp.getWDZB()); + //latitude(纬度)<-----WDZB纬度坐标 + alarmInfo.setLatitude(WDZBDecimal); + } else { + //latitude(纬度)<-----WDZB纬度坐标 + alarmInfo.setLatitude(null); + } + + if (jjxxViewMysqlCp.getJDZB() != null) { + BigDecimal JDZBDecimal = new BigDecimal(jjxxViewMysqlCp.getJDZB()); + //longitude(经度)<-----JDZB经度坐标 + alarmInfo.setLatitude(JDZBDecimal); + } else { + //longitude(经度)<-----JDZB经度坐标 + alarmInfo.setLongitude(null); + } + + boolean b = alarmInfoService.save(alarmInfo); + if (b) { + jjxxViewMysqlCp.setSTATUS("1"); + jjxxViewMysqlService.updateJjxxByJJBH(jjxxViewMysqlCp); + logger.info("状态修改为:1"); + } + } catch (Exception e) { + logger.info(StringKit.getTrace(e)); + jjxxViewMysqlCp.setSTATUS("2"); + jjxxViewMysqlService.updateJjxxByJJBH(jjxxViewMysqlCp); + logger.info("状态修改为:2"); + } + } } diff --git a/src/main/java/com/ssf/mysqloracletest/task/UnitInfoTask.java b/src/main/java/com/ssf/mysqloracletest/task/UnitInfoTask.java index 6834440..8119eda 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/UnitInfoTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/UnitInfoTask.java @@ -80,6 +80,7 @@ public class UnitInfoTask { try { BeanUtils.copyProperties(bean, sydwMysqlCp); MetaActualUnitInfo unitInfo = new MetaActualUnitInfo(); + VSySydwmMysql vSySydwmMysql = vSySydwMysqlService.selectVSySydwByZJLID(sydwMysqlCp.getZJLID()); //ID(id)----->unit_id(单位ID) unitInfo.setUnitId(sydwMysqlCp.getID()); //DWMC(单位名称)----->unit_name(单位名称) @@ -108,12 +109,14 @@ public class UnitInfoTask { unitInfo.setLegalPersonIdCard(sydwMysqlCp.getFRZJHM()); //FRXM(法人姓名)----->legal_person(企业法定代表人) unitInfo.setLegalPerson(sydwMysqlCp.getFRXM()); + + //YSBZK_RKSJ(入库时间)----->meta_create_time(元数据创建时间) - unitInfo.setMetaCreateTime(sydwMysqlCp.getYSBZK_RKSJ()); + unitInfo.setMetaCreateTime(vSySydwmMysql.getYSBZK_RKSJ()); //YSBZK_GXSJ(更新时间)----->meta_update_time(元数据更新时间) - unitInfo.setMetaUpdateTime(sydwMysqlCp.getYSBZK_GXSJ()); - boolean b = metaActualUnitInfoService.save(unitInfo); + unitInfo.setMetaUpdateTime(vSySydwmMysql.getYSBZK_GXSJ()); + boolean b = metaActualUnitInfoService.save(unitInfo); if (b) { sydwMysqlCp.setSTATUS("1"); vSySydwMysqlService.updateVSySydwById(sydwMysqlCp); diff --git a/src/main/resources/mapper/JcjJjxxViewMysqlMapper.xml b/src/main/resources/mapper/JcjJjxxViewMysqlMapper.xml index 18a7f5f..f4eb9d1 100644 --- a/src/main/resources/mapper/JcjJjxxViewMysqlMapper.xml +++ b/src/main/resources/mapper/JcjJjxxViewMysqlMapper.xml @@ -133,6 +133,7 @@ + + +