Merge remote-tracking branch 'origin/develop' into develop

develop
hanrenchun 10 months ago
commit 11e303cbfd

@ -782,4 +782,6 @@ public class JcjJjxxViewMysql implements Serializable {
@TableField(value = "WDZB")
private String WDZB;
@TableField(value = "STATUS")
private String STATUS;
}

@ -13,4 +13,6 @@ public interface JcjJxxViewMysqlMapper extends BaseMapper<JcjJjxxViewMysql> {
public int updateJjxxByJJBH(JcjJjxxViewMysql bean);
public JcjJjxxViewMysql selectRecordOrderByRksj();
public int countJjxx();
}

@ -17,4 +17,6 @@ public interface JcjJjxxViewMysqlService extends IService<JcjJjxxViewMysql>{
public JcjJjxxViewMysql selectRecordOrderByRksj();
public int countJjxx();
}

@ -39,6 +39,11 @@ public class JcjJjxxViewMysqlServiceImpl extends ServiceImpl<JcjJxxViewMysqlMapp
public JcjJjxxViewMysql selectRecordOrderByRksj() {
return jcxxMapper.selectRecordOrderByRksj();
}
@Override
public int countJjxx() {
return jcxxMapper.countJjxx();
}
}

@ -1,24 +1,22 @@
package com.ssf.mysqloracletest.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ssf.mysqloracletest.domain.JcjJjxxViewMysql;
import com.ssf.mysqloracletest.domain.MetaAlarmInfo;
import com.ssf.mysqloracletest.service.JcjJjxxViewMysqlService;
import com.ssf.mysqloracletest.service.MetaAlarmInfoService;
import com.ssf.mysqloracletest.utils.ConfigParam;
import com.ssf.mysqloracletest.utils.NumKit;
import com.ssf.mysqloracletest.utils.StringKit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -37,9 +35,6 @@ public class AlarmInfoTask {
@Resource
private MetaAlarmInfoService alarmInfoService;
final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 10000 : NumKit.checkInt(ConfigParam.oncesCounts);
private boolean NjjxxTag = false;
/**
*
@ -48,104 +43,99 @@ public class AlarmInfoTask {
@Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transNjjxx() {
if (NjjxxTag) {
return;
}
if (!"true".equals(ConfigParam.NewNalarminfoSwitch)) {
return;
}
try {
int countNjjxx = jjxxViewMysqlService.count();
logger.info("countNjjxx:" + countNjjxx);
if (countNjjxx > 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<JcjJjxxViewMysql> 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<JcjJjxxViewMysql> queryWrapper = new QueryWrapper<>();
queryWrapper.isNull("STATUS");
Page<JcjJjxxViewMysql> page = new Page<>(1, 1000);
List<JcjJjxxViewMysql> 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");
}
}
}

@ -80,6 +80,7 @@ public class UnitInfoTask {
try {
BeanUtils.copyProperties(bean, sydwMysqlCp);
MetaActualUnitInfo unitInfo = new MetaActualUnitInfo();
VSySydwmMysql vSySydwmMysql = vSySydwMysqlService.selectVSySydwByZJLID(sydwMysqlCp.getZJLID());
//IDid----->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);

@ -133,6 +133,7 @@
<result property="RYWKSJ" column="RYWKSJ" jdbcType="VARCHAR"/>
<result property="JDZB" column="JDZB" jdbcType="VARCHAR"/>
<result property="WDZB" column="WDZB" jdbcType="VARCHAR"/>
<result property="STATUS" column="STATUS" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectJcjJxxByJJBH" parameterType="java.lang.String" resultMap="BaseResultMap">
@ -274,6 +275,8 @@
<if test="RYWKSJ != null and RYWKSJ != '' ">RYWKSJ ,</if>
<if test="JDZB != null and JDZB != '' ">JDZB ,</if>
<if test="WDZB != null and WDZB != '' ">WDZB ,</if>
<if test="STATUS != null and STATUS != '' ">STATUS ,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="JJBH != null and JJBH != '' ">#{JJBH },</if>
@ -404,6 +407,7 @@
<if test="RYWKSJ != null and RYWKSJ != '' ">#{RYWKSJ },</if>
<if test="JDZB != null and JDZB != '' ">#{JDZB },</if>
<if test="WDZB != null and WDZB != '' ">#{WDZB },</if>
<if test="STATUS != null and STATUS != '' ">#{STATUS },</if>
</trim>
</insert>
@ -540,6 +544,7 @@
<if test="RYWKSJ != null and RYWKSJ != '' ">RYWKSJ =#{RYWKSJ },</if>
<if test="JDZB != null and JDZB != '' ">JDZB =#{JDZB },</if>
<if test="WDZB != null and WDZB != '' ">WDZB =#{WDZB },</if>
<if test="STATUS != null and STATUS != '' ">STATUS =#{STATUS },</if>
</trim>
where JJBH = #{JJBH}
</update>
@ -551,4 +556,9 @@
from jcj_jjxx_view order by ws_rksj desc limit 1;
</select>
<select id="countJjxx" resultType="int">
select count(*)
from jcj_jjxx_view limit 1
</select>
</mapper>

Loading…
Cancel
Save