main
gaoshuguang 1 year ago
parent 67ed575c5c
commit 53fe9c0090

@ -135,6 +135,8 @@ public class NooutportS2Down {
@TableField("RESULT")
private Integer result;
@TableField("BRESULT")
private Integer bresult;

@ -148,4 +148,6 @@ public class NooutportS3Down {
private String exitPassId;
@TableField(value = "DATEMARK", jdbcType = JdbcType.DATE, update = "to_date(#{DATEMARK},'yyyy-mm-dd hh24:mi:ss')")
private String dateMark;
@TableField("BRESULT")
private Integer bresult;
}

@ -1015,7 +1015,8 @@ public class CreateDbServiceImpl implements CreateDbService {
//2024-07-06增加
op.setResult((mapList.get("result") != null) ? Integer.valueOf(String.valueOf(mapList.get("result"))) : null);
op.setResult( null);
op.setBresult((mapList.get("result") != null) ? Integer.valueOf(String.valueOf(mapList.get("result"))) : null);
op.setChangeProvinceId(StringUtils.isNotBlank((CharSequence) mapList.get("changeProvinceId")) ? (String) mapList.get("changeProvinceId") : null);
op.setExitPassId(StringUtils.isNotBlank((CharSequence) mapList.get("exitPassId")) ? (String) mapList.get("exitPassId") : null);
op.setDateMark(DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD_HH_MM_SS));
@ -1239,12 +1240,17 @@ public class CreateDbServiceImpl implements CreateDbService {
//20230613 gsg 先删除再插入
if (exists) {
nooutportS2DownMapper.delete(queryWrapper);
LogUtil.WriteLog_InsertDB("[uuid:" + uuid + "]-先删除主键为ID"+obj.getId()+
"UPDATETIME="+DateTimeUtil.getFormatDate(obj.getUpdateTime().replace(Constant.STR_T, Constant.STR_SPACE), Constant.YYYY_MM_DD_HH_MM_SS)+
"BSDZ_NOOUTPORT_S2_DOWN表中数据再插入", "CreateDbServiceImpl");
}
obj.setProvEnTime(StringUtils.isNotBlank(obj.getProvEnTime()) ? obj.getProvEnTime().replace(Constant.STR_T, Constant.STR_SPACE) : null);
obj.setStartTime(StringUtils.isNotBlank(obj.getStartTime()) ? obj.getStartTime().replace(Constant.STR_T, Constant.STR_SPACE) : null);
obj.setUpdateTime(StringUtils.isNotBlank(obj.getUpdateTime()) ? obj.getUpdateTime().replace(Constant.STR_T, Constant.STR_SPACE) : null);
obj.setProvExTime(StringUtils.isNotBlank(obj.getProvExTime()) ? obj.getProvExTime().replace(Constant.STR_T, Constant.STR_SPACE) : null);
obj.setBasicFilename(fileName);
obj.setBresult(obj.getResult());
obj.setResult(null);
obj.setDateMark(DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD_HH_MM_SS));
nooutportS2DownMapper.insert(obj);
count++;

@ -18,6 +18,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.File;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
* @author: shuguang
@ -85,31 +88,76 @@ public class MinFeeServiceImpl implements MinFeeService {
minFtpDownloadService.getMinFeeHrMdTask(uuid);
//开始查询sqlite任务表中华软未处理数据任务
List<BusinessTasks> businessTasks = DatabaseUtil.selectBusines(sqliteDriverName, sqliteUrl, Constant.SELECT_BUSINESS_HANDLER_HR_MIN_FEE);
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(4); // 可以根据实际情况调整线程池的大小
if (businessTasks.size() > 0) {
//for (BusinessTasks businessTask : businessTasks) {
// String protocolType = businessTask.getProtocolType();
// String id = businessTask.getId();
// //是否处理完成
// boolean isFinished = false;
// //最小费额
// if (Constant.STR_SQB_250.equals(protocolType)) {
// createSqbByDllService.createMinFeeSqbByDll(uuid, businessTask);
// isFinished = true;
// }
// if (isFinished) {
// //更新中介库华软的下载状态
// //log.info("[uuid:{}]-更新中介库TF_DOWNLOAD_NOTIFY(id为:{})下载状态为1-已下载", uuid, id);
// LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-更新中介库TF_DOWNLOAD_NOTIFY(id为" +id+")下载状态为1-已下载", "MinFeeServiceImpl");
// DatabaseUtil.updateSql(driverName, HRConnectionStringOracle, HROracleName, HROraclePass, Constant.UPDATE_TF_DOWNLOAD_NOTIFY_HR + id, uuid);
// //删除下载的zip文件
// FileUtil.delete(new File(NFSFilePath + PathUtil.downFile + businessTask.getFileName()));
//
// } else {
// //log.info("[uuid:{}]最小费额文件数据处理失败中介下载任务id{}不更新", uuid, id);
// LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-最小费额文件数据处理失败,中介下载任务(id为" +id+")不更新", "MinFeeServiceImpl");
// }
//}
for (BusinessTasks businessTask : businessTasks) {
String protocolType = businessTask.getProtocolType();
String id = businessTask.getId();
//是否处理完成
boolean isFinished = false;
//最小费额
if (Constant.STR_SQB_250.equals(protocolType)) {
createSqbByDllService.createMinFeeSqbByDll(uuid, businessTask);
isFinished = true;
}
if (isFinished) {
//更新中介库华软的下载状态
//log.info("[uuid:{}]-更新中介库TF_DOWNLOAD_NOTIFY(id为:{})下载状态为1-已下载", uuid, id);
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-更新中介库TF_DOWNLOAD_NOTIFY(id为" +id+")下载状态为1-已下载", "MinFeeServiceImpl");
DatabaseUtil.updateSql(driverName, HRConnectionStringOracle, HROracleName, HROraclePass, Constant.UPDATE_TF_DOWNLOAD_NOTIFY_HR + id, uuid);
//删除下载的zip文件
FileUtil.delete(new File(NFSFilePath + PathUtil.downFile + businessTask.getFileName()));
final String protocolType = businessTask.getProtocolType();
final String id = businessTask.getId();
executor.submit(() -> {
// 执行具体的任务
boolean isFinished = false;
if (Constant.STR_SQB_250.equals(protocolType)) {
createSqbByDllService.createMinFeeSqbByDll(uuid, businessTask);
isFinished = true;
}
} else {
//log.info("[uuid:{}]最小费额文件数据处理失败中介下载任务id{}不更新", uuid, id);
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-最小费额文件数据处理失败,中介下载任务(id为" +id+")不更新", "MinFeeServiceImpl");
if (isFinished) {
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-更新中介库TF_DOWNLOAD_NOTIFY(id为" + id + ")下载状态为1-已下载", "MinFeeServiceImpl");
DatabaseUtil.updateSql(driverName, HRConnectionStringOracle, HROracleName, HROraclePass, Constant.UPDATE_TF_DOWNLOAD_NOTIFY_HR + id, uuid);
FileUtil.delete(new File(NFSFilePath + PathUtil.downFile + businessTask.getFileName()));
} else {
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-最小费额文件数据处理失败,中介下载任务(id为" + id + ")不更新", "MinFeeServiceImpl");
}
});
}
// 关闭线程池
executor.shutdown();
// 等待所有任务完成
try {
// 设置一个合理的超时时间例如6小时
if (!executor.awaitTermination(6, TimeUnit.HOURS)) {
// 如果超时,则取消当前执行的任务
executor.shutdownNow();
// 这里可以添加一些日志记录或者其他处理
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-最小费额文件数据处理任务执行超时,已尝试取消剩余任务" , "MinFeeServiceImpl");
}
} catch (InterruptedException e) {
// 如果等待过程中被中断,重新设置线程中断标志
Thread.currentThread().interrupt();
// 取消当前执行的任务
executor.shutdownNow();
// 这里可以添加一些日志记录或者其他处理
LogUtil.WriteLog_MinFee("[uuid:" + uuid + "]-最小费额文件数据处理等待任务执行过程中线程被中断" , "MinFeeServiceImpl");
}
}
sqliteBackupsService.buildBackups(uuid);
}

@ -153,7 +153,7 @@ public class ZipToSqbServiceImpl implements ZipToSqbService {
bfSqbName = "SQB_GREENINC";
break;
case Constant.STR_919://追缴名单-全量
case Constant.STR_919://抢险救灾车全量
dbName = "EMERCARALL.DBF";
type = 3;
etcType = 10;
@ -161,7 +161,7 @@ public class ZipToSqbServiceImpl implements ZipToSqbService {
qlSqbName = "SQB_EMERCARALL";
bfSqbName = "SQB_EMERCARALL";
break;
case Constant.STR_920://追缴名单-增量
case Constant.STR_920://抢险救灾车增量
dbName = "EMERCARINC.DBF";
type = 4;
etcType = 10;

@ -0,0 +1,29 @@
package com.nm.gsgl.test;
import com.nm.gsgl.common.Constant;
import com.nm.gsgl.common.utils.DateTimeUtil;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240927 16:00
* @description:
*/
public class Test240927 {
public static void main(String[] args) {
boolean isGenerate = false;
Date date = new Date();
int hours = DateTimeUtil.getHour(date);
String dateup="2024-09-03 15:20:03";
Date updateTime = DateTimeUtil.getFormatDate(dateup, Constant.YYYY_MM_DD_HH_MM_SS);
if (updateTime != null) {
if (hours != DateTimeUtil.getHour(updateTime)) {
isGenerate = true;
}
} else {
isGenerate = true;
}
System.out.println(isGenerate);
}
}
Loading…
Cancel
Save