获取人员数据新增时间间隔配置

develop
cyFeng 1 year ago
parent a07c656b64
commit 021b6c4230

@ -6,3 +6,4 @@ etcV2TV3_villageCode=320924000000001
#射阳数据源读取东台数据源数据 并清洗到数据库中
syrkV3Switch=true
dtJwzTimes=2

@ -8,4 +8,5 @@ public class ConfigParam {
public static String etcSwitch = PropertiesUtil.queryPropertiesByKey("etcSwitch");
public static String syrkV3Switch = PropertiesUtil.queryPropertiesByKey("syrkV3Switch");
public static String dtJwzTimes = PropertiesUtil.queryPropertiesByKey("dtJwzTimes");
}

@ -3,6 +3,7 @@ package com.wt.dataToDBs.tool;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@ -23,6 +24,17 @@ public class DateUtil {
return ymdhms.format(new Date(time * 1000));
}
public static String convertTimeToString(long longTime, String format) {
try {
Timestamp t = new Timestamp(longTime * 1000L);
SimpleDateFormat sDateFormat = new SimpleDateFormat(format);
return sDateFormat.format(t);
} catch (Exception ex) {
throw new RuntimeException((new StringBuilder()).append("Can't format the time by format[").append(format).append("]!").toString());
}
}
/**
*
*/

@ -45,4 +45,6 @@ public interface VillageSendRecordStaticDao {
*
*/
public List<VillageSendRecordStatic> getList(Map<String, Object> map);
public List<VillageSendRecordStatic> getLastRecord(VillageSendRecordStatic bean);
}

@ -85,4 +85,5 @@ public interface VillageUserInfoMapper {
public List<VillageUserInfo> userArchivesTask(VillageUserInfo userInfo);
public List<VillageUserInfo> userArchivesTaskNotIn(VillageUserInfo userInfo);
public int deleteVillageUserInfoByUpdatetime(VillageUserInfo bean);
}

@ -389,7 +389,15 @@ public class VillageUserInfo {
//是否全息档案请求
private String enabledArchives;
private String updatetimeV;
public String getUpdatetimeV() {
return updatetimeV;
}
public void setUpdatetimeV(String updatetimeV) {
this.updatetimeV = updatetimeV;
}
public String getC2New() {
return c2New;

@ -60,6 +60,8 @@ public interface VillageUserInfoService {
* @return
*/
public int deleteVillageUserInfoById(Long id);
public int deleteVillageUserInfoByUpdatetime(VillageUserInfo bean);
//
// public String importBase(List<VillageUserInfo> userList, Boolean isUpdateSupport, String operName);
//

@ -239,11 +239,11 @@ public class VillageUserInfoServiceImpl implements VillageUserInfoService {
// * @param ids 需要删除的住户信息主键
// * @return 结果
// */
// @Override
// public int deleteVillageUserInfoByIds(String ids)
// {
// return villageUserInfoMapper.deleteVillageUserInfoByIds(Convert.toStrArray(ids));
// }
@Override
public int deleteVillageUserInfoByUpdatetime(VillageUserInfo bean)
{
return villageUserInfoMapper.deleteVillageUserInfoByUpdatetime(bean);
}
//
// /**
// * 批量删除信息

@ -1,6 +1,8 @@
package com.wt.dataToDBs.v3.task;
import com.wt.dataToDBs.tool.ConfigParam;
import com.wt.dataToDBs.tool.DateUtil;
import com.wt.dataToDBs.tool.NumKit;
import com.wt.dataToDBs.tool.StringKit;
import com.wt.dataToDBs.tool.safe.AESTools;
import com.wt.dataToDBs.tool.safe.AesConstant;
@ -20,11 +22,10 @@ import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
*
@ -44,8 +45,8 @@ public class SyrkFromDbV3Task {
// private VillageSendRecordStaticDao sendRecordStaticDao;
@Resource
private VillageSendRecordStaticDao sendRecordStaticDao;
@Resource
private JdbcTemplate jdbcTemplate;
// @Resource
// private JdbcTemplate jdbcTemplate;
/**
* ---- 1
* //
@ -60,10 +61,12 @@ public class SyrkFromDbV3Task {
long timestamp = System.currentTimeMillis(); // 获取当前时间戳(毫秒)
// 将时间戳转换为LocalDate对象
LocalDate date = LocalDate.ofEpochDay(timestamp / 86400000);
// 将LocalDate对象格式化为"YYYY-MM-dd"格式的日期字符串
String strDate = date.format(DateTimeFormatter.ofPattern("YYYYMMdd"));
String strDate = DateUtil.convertTimeToString(timestamp / 1000, "YYYYMMdd");
//设置任务执行时间
if (setTaskTimes(strDate)) return;
//查询数据库是否存在 每天执行一次
Map mapStaticPara = new HashMap();
mapStaticPara.put("manufactorNo", "888888");
@ -93,6 +96,12 @@ public class SyrkFromDbV3Task {
continue;
}
if (address.contains("号") || address.contains("组") ) {
}else {
logger.info("当前小区地址不正确:" + b.getVillageName());
continue;
}
//每天执行一次
//根据小区的实际地址去 东台的库表查询如果查得到就是这个小区的基础数据.
VillageActualUserInfoDo actualUserInfoDo = new VillageActualUserInfoDo();
@ -163,10 +172,10 @@ public class SyrkFromDbV3Task {
String strDate = date.format(DateTimeFormatter.ofPattern("YYYYMMdd"));
// String strDateD = date.format(DateTimeFormatter.ofPattern("YYYY-MM-dd"));
// 获取当前日期前一天的日期
LocalDate localDate = LocalDate.now().minusDays(1);
// 将日期转换为指定格式的字符串
String formattedDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// // 获取当前日期前一天的日期
// LocalDate localDate = LocalDate.now().minusDays(1);
// // 将日期转换为指定格式的字符串
// String formattedDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
//查询数据库是否存在 每天执行一次
Map mapStaticPara = new HashMap();
@ -179,9 +188,13 @@ public class SyrkFromDbV3Task {
VillageSendRecordStatic sendRecordStatic = sendRecordStatics.get(0);
String resultStatus = sendRecordStatic.getResultStatus();
if("1".equals(resultStatus)){
String sql = "delete from village_user_info where building_code is null and updatetime like '"+formattedDate+"%'";
//删除人员表数据
jdbcTemplate.execute(sql);
// String sql = "delete from village_user_info where building_code is null and updatetime like '"+formattedDate+"%'";
// //删除人员表数据
// jdbcTemplate.execute(sql);
VillageUserInfo userInfoPara = new VillageUserInfo();
userInfoPara.setUpdatetimeV(strDate);
villageUserInfoService.deleteVillageUserInfoByUpdatetime(userInfoPara);
sendRecordStatic.setResultStatus("2");
sendRecordStatic.setResultRemark(strDate);
sendRecordStaticDao.updateRecord(sendRecordStatic);
@ -193,4 +206,46 @@ public class SyrkFromDbV3Task {
}
private boolean setTaskTimes(String strDate) {
try {
String lastTime = "";
// String sql = "select * from village_send_static_record where table_name ='" + Config.tablenameSyrk + "' and manufactor_no = '" + "888888" + "'" +
// " and table_id is null order by id desc limit 1";
VillageSendRecordStatic bean = new VillageSendRecordStatic();
bean.setTableName(Config.tablenameSyrk);
List<VillageSendRecordStatic> maps = sendRecordStaticDao.getLastRecord(bean);
if (maps != null && maps.size() > 0) {
lastTime = StringKit.toString(maps.get(0).getResultRemark());
} else {
return false;
}
Integer times = NumKit.checkInt(ConfigParam.dtJwzTimes);
if(times == 0){
times = 3;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date1 = sdf.parse(strDate);
Date date2 = sdf.parse(lastTime);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date2);
calendar.add(Calendar.DAY_OF_MONTH, times);
Date date2Plus3Days = calendar.getTime();
if (date1.after(date2Plus3Days)) {
// System.out.println("20230706 大于 20230701 三天");
} else {
// System.out.println("20230706 不大于 20230701 三天");
return true;
}
return false;
} catch (Exception e) {
logger.info(StringKit.getTrace(e));
return true;
}
}
}

@ -168,5 +168,10 @@
limit 200;
</select>
<select id="getLastRecord" resultMap="VillageSendStaticRecordResult">
select * from village_send_static_record where table_name =#{tableName} and manufactor_no = '888888'
and table_id is null order by id desc limit 1
</select>
</mapper>

@ -679,4 +679,5 @@
where idcard = #{idcard} limit 1
</select>
</mapper>

Loading…
Cancel
Save