main
gaoshuguang 1 year ago
parent e7fcb99d46
commit affb553847

@ -549,8 +549,9 @@ public class FileUtil {
try {
FileUtils.moveFile(new File(oldPath), new File(newPath));
} catch (IOException e) {
e.printStackTrace();
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
//e.printStackTrace();
log.error("文件移动重命名失败"+e.getMessage(), e);
//throw new PPException(MessageEnum.文件移动重命名失败.getCode(), MessageEnum.文件移动重命名失败.getMessage());
}
}

@ -236,6 +236,29 @@ public class ManualIssueServiceImpl implements ManualIssueService {
for (Integer protocolType : ids) {
//下传日期
String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
//序列号
int lastNum = 1;
//先查询CMS_DOWNLOG_JAVA中下发的批次号
//判断当前是否是Oracle
List<CmsDownLog> cmsDownLogs;
if (Constant.STR_TWO.equals(DBType)) {
cmsDownLogs = cmsDownLogMapper.selectListOracle(protocolType, isDate);
} else {
QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
downLogQueryWrapper.select("NUM").eq("PARAID", protocolType)
.eq("DT", isDate)
.lt("NUM", 10000);
cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
}
if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
lastNum = cmsDownLogs.get(0).getNum() + 1;
}
//判断是否需要生成文件后下载
if (Constant.INT_GENERATED.contains(protocolType)) {
//判断当前是否联网中心
@ -268,26 +291,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
String md5 = newFileInfo.getMd5();
//版本号
String version = newFileInfo.getVersion();
//下传日期
String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
//序列号
int lastNum = 1;
//先查询CMS_DOWNLOG_JAVA中下发的批次号
//判断当前是否是Oracle
List<CmsDownLog> cmsDownLogs;
if (Constant.STR_TWO.equals(DBType)) {
cmsDownLogs = cmsDownLogMapper.selectListOracle(protocolType, isDate);
} else {
QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
downLogQueryWrapper.select("NUM").eq("PARAID", protocolType)
.eq("DT", isDate)
.lt("NUM", 10000);
cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
}
if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
lastNum = cmsDownLogs.get(0).getNum() + 1;
}
//路段号
Integer roadNo = setUpTable.getROADNO();
//查询分中心的IP和程序的端口号
@ -371,26 +375,26 @@ public class ManualIssueServiceImpl implements ManualIssueService {
String md5 = MD5Util.getMd5ByFilePath(DownloadPath + File.separator + fileName);
//版本号
String version = cmsParameter.getQgCsVerNo();
//下传日期
String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
//序列号
int lastNum = 1;
//先查询CMS_DOWNLOG_JAVA中下发的批次号
//判断当前是否是Oracle
List<CmsDownLog> cmsDownLogs;
if (Constant.STR_TWO.equals(DBType)) {
cmsDownLogs = cmsDownLogMapper.selectListOracle(paraId, isDate);
} else {
QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
downLogQueryWrapper.select("NUM").eq("PARAID", paraId)
.eq("DT", isDate)
.lt("NUM", 10000);
cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
}
if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
lastNum = cmsDownLogs.get(0).getNum() + 1;
}
////下传日期
//String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
////序列号
//int lastNum = 1;
////先查询CMS_DOWNLOG_JAVA中下发的批次号
////判断当前是否是Oracle
//List<CmsDownLog> cmsDownLogs;
//if (Constant.STR_TWO.equals(DBType)) {
// cmsDownLogs = cmsDownLogMapper.selectListOracle(paraId, isDate);
//} else {
// QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
// downLogQueryWrapper.select("NUM").eq("PARAID", paraId)
// .eq("DT", isDate)
// .lt("NUM", 10000);
// cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
//}
//if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
// cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
// lastNum = cmsDownLogs.get(0).getNum() + 1;
//}
String socketStr = conStringMin(String.valueOf(protocolType), paraName, fileName, isZlib, ip, downUrl, backUrl, md5, version, isDate, lastNum, roadNo, staNo, portNo);
//查询获取车道的ip
@ -477,27 +481,27 @@ public class ManualIssueServiceImpl implements ManualIssueService {
String md5 = cmsParameter.getQgCsMd5();
//版本号
String version = cmsParameter.getQgCsVerNo();
//下传日期
String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
//序列号
int lastNum = 1;
//先查询CMS_DOWNLOG_JAVA中下发的批次号
//判断当前是否是Oracle
List<CmsDownLog> cmsDownLogs;
if (Constant.STR_TWO.equals(DBType)) {
cmsDownLogs = cmsDownLogMapper.selectListOracle(paraId, isDate);
} else {
QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
downLogQueryWrapper.select("NUM").eq("PARAID", paraId)
.eq("DT", isDate)
.lt("NUM", 10000);
cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
}
if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
lastNum = cmsDownLogs.get(0).getNum() + 1;
}
////下传日期
//String isDate = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD);
////序列号
//int lastNum = 1;
////先查询CMS_DOWNLOG_JAVA中下发的批次号
////判断当前是否是Oracle
//List<CmsDownLog> cmsDownLogs;
//if (Constant.STR_TWO.equals(DBType)) {
// cmsDownLogs = cmsDownLogMapper.selectListOracle(paraId, isDate);
//} else {
// QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
// downLogQueryWrapper.select("NUM").eq("PARAID", paraId)
// .eq("DT", isDate)
// .lt("NUM", 10000);
// cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
//}
//
//if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
// cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
// lastNum = cmsDownLogs.get(0).getNum() + 1;
//}
//路段号
Integer roadNo = setUpTable.getROADNO();
// 站编码
@ -539,7 +543,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
//版本号
String version = DateTimeUtil.getFormateString(now, Constant.YYYYMMDDHHMMSS);
//下传日期
String isDate = DateTimeUtil.getFormateString(now, Constant.YYYY_MM_DD);
//String isDate = DateTimeUtil.getFormateString(now, Constant.YYYY_MM_DD);
//下载文件地址
String downUrl = null;
//回调地址
@ -586,8 +590,17 @@ public class ManualIssueServiceImpl implements ManualIssueService {
Integer staNo = setUpTable.getSTANO();
//paraId=2需要路段号和站编号下发时根据路段号和站编号做替换
if (paraId == 2) {
if (Constant.STR_ONE.equals(DBType)) {
sqlStr = cmsParameter.getSqlStr();
} else if (Constant.STR_TWO.equals(DBType)) {
sqlStr = cmsParameter.getOraStr();
} else if (Constant.STR_FOUR.equals(DBType)) {
sqlStr = cmsParameter.getOraStr();
}
Date now2 = new Date();
version = DateTimeUtil.getFormateString(now2, Constant.MMDDHHMMSSSSS);
FileUtil.delFile(new File(DownloadPath + File.separator + fileName));
//version = DateTimeUtil.getFormateString(now2, Constant.MMDDHHMMSSSSS);
version = staNo + DateTimeUtil.getFormateString(now2, Constant.YYMMDD);
newName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_ZLIB;
String newFileName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_DBF;
sqlStr = sqlStr.replace("%ROADNO%", String.valueOf(roadNo)).replace("%STANO%", String.valueOf(staNo));
@ -599,7 +612,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
String zlibName = newName.replace(Constant.STR_ZLIB, Constant.STR_ + md5 + Constant.STR_ZLIB);
String oldPath = DownloadPath + File.separator + newName;
String newPath = DownloadPath + File.separator + zlibName;
FileUtil.copyFile(oldPath, newPath);
FileUtil.moveFileReName(oldPath, newPath);
//if (new File(oldPath).renameTo(new File(newPath))) {
//
//}
@ -609,25 +622,31 @@ public class ManualIssueServiceImpl implements ManualIssueService {
//回调地址
backUrl = Constant.HTTP + ip + Constant.STR_COLON + tomcatPort + Constant.STR_SLASH + PathUtil.webName
+ Constant.WEBSERVICE_BACK;
//线程等待1秒
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//序列号
int lastNum = 1;
//先查询CMS_DOWNLOG_JAVA中下发的批次号
//判断当前是否是Oracle
List<CmsDownLog> cmsDownLogs;
if (Constant.STR_TWO.equals(DBType)) {
cmsDownLogs = cmsDownLogMapper.selectListOracle(protocolType, isDate);
} else {
QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
downLogQueryWrapper.select("NUM").eq("PARAID", protocolType)
.eq("DT", isDate)
.lt("NUM", 10000);
cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
}
if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
lastNum = cmsDownLogs.get(0).getNum() + 1;
}
//序列号
//int lastNum = 1;
////先查询CMS_DOWNLOG_JAVA中下发的批次号
////判断当前是否是Oracle
//List<CmsDownLog> cmsDownLogs;
//if (Constant.STR_TWO.equals(DBType)) {
// cmsDownLogs = cmsDownLogMapper.selectListOracle(protocolType, isDate);
//} else {
// QueryWrapper<CmsDownLog> downLogQueryWrapper = new QueryWrapper<>();
// downLogQueryWrapper.select("NUM").eq("PARAID", protocolType)
// .eq("DT", isDate)
// .lt("NUM", 10000);
// cmsDownLogs = cmsDownLogMapper.selectList(downLogQueryWrapper);
//}
//if (cmsDownLogs != null && cmsDownLogs.size() > 0) {
// cmsDownLogs.sort(Comparator.comparing(CmsDownLog::getNum).reversed());
// lastNum = cmsDownLogs.get(0).getNum() + 1;
//}
//查询站的IP和程序的端口号
QueryWrapper<NameTableDcom> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ROADNO", roadNo)

@ -0,0 +1,30 @@
package com.nm.gsgl.test;
import com.nm.gsgl.common.utils.ZLibUtils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
/**
* @author: shuguang
* @date: 20240927 17:11
* @description:
*/
public class Test240927 {
public static void main(String[] args) {
String sourceFile = "D:\\桌面\\TB_PRICEFEE_20240926110955_0_94_784325f5c5276262ca46df9d1dfa0c20.zlib";
String outputFile = "D:\\桌面\\TB_PRICELIB.sqb";
try {
FileInputStream fileInputStream = new FileInputStream(sourceFile);
byte[] decompress = ZLibUtils.decompress(fileInputStream);
ZLibUtils.getFileByBytes(decompress, "D:\\桌面", "TB_PRICELIB.sqb");
System.out.println();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}

@ -16,3 +16,4 @@
11 2024年08月22日 1.1.0 下发最小费额文件时增加文件的MD5校验最小费额#分割改成_分割的文件名
12 2024年09月05日 1.1.1 修复下发操作人员名单时出现下发的非本站的文件
13 2024年09月20日 1.1.2 下发车道时可根据车道类型选择相应的车道功能
14 2024年10月08日 1.1.3 下发车道人员工号时先删除下发文件夹下的operator.DBF然后再下发
Loading…
Cancel
Save