2025年07月14日 1.0.2 手动下发时需要生成的数据查询10.15.0.12集团数据库数据,优化参数下发页面日志精简打印标识为[FRONTEND]

下发最小费额逻辑修改,选择一条车道将所有当前最新版本的最小费额文件全部下发到该车道
main
gaoshuguang 6 months ago
parent 6f0e65c893
commit aea72db71f

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="8e4d192f-9d32-46bf-9ffd-477c30004522" />
</component>
</module>

@ -2,6 +2,11 @@
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AlibabaVarargsParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<Languages>
<language minSize="177" name="Java" />
</Languages>
</inspection_tool>
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
<option name="TOP_LEVEL_CLASS_OPTIONS">
<value>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

@ -56,6 +56,7 @@ public class Constant {
public static final String UTF_8 = "UTF-8";
public static final String GBK = "GBK";
public static final String HTTP = "http://";
public static final String STR_FRONTEND = "[FRONTEND]";
public static final String STR_JDBC_SQLITE = "jdbc:sqlite:";

@ -38,6 +38,7 @@ public enum MessageEnum {
("20018", "未找到最小费额文件"),
("20019", "暂不支持上传功能"),
("20020", "上传文件失败"),
("20021", "回调处理失败"),
("99999","操作失败"),
;
private String code;

@ -5,6 +5,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.classic.spi.IThrowableProxy;
import ch.qos.logback.classic.spi.ThrowableProxyUtil;
import ch.qos.logback.core.spi.FilterReply;
import com.nm.gsgl.common.Constant;
import java.text.SimpleDateFormat;
import java.util.Date;
@ -30,18 +31,27 @@ public class LoggerFilter extends ThresholdFilter {
*/
@Override
public FilterReply decide(ILoggingEvent event) {
LoggerMessage log = new LoggerMessage();
log.setClassInfo(event.getLoggerName());
log.setLogTime(formatTime(event.getTimeStamp()));
log.setLogInfo(event.getFormattedMessage());
log.setLogLevel(event.getLevel().levelStr);
String exception = "";
IThrowableProxy throwableProxy = event.getThrowableProxy();
if (throwableProxy != null) {
exception = ThrowableProxyUtil.asString(throwableProxy);
String formattedMessage = event.getFormattedMessage();
// 只处理包含 [FRONTEND] 标记的日志
if (formattedMessage != null && formattedMessage.contains(Constant.STR_FRONTEND)) {
LoggerMessage log = new LoggerMessage();
log.setClassInfo(event.getLoggerName());
log.setLogTime(formatTime(event.getTimeStamp()));
log.setLogInfo(formattedMessage);
log.setLogLevel(event.getLevel().levelStr);
String exception = "";
IThrowableProxy throwableProxy = event.getThrowableProxy();
if (throwableProxy != null) {
exception = ThrowableProxyUtil.asString(throwableProxy);
}
log.setErrorInfo(exception);
// 加入队列
LoggerQueue.getInstance().push(log);
}
log.setErrorInfo(exception);
LoggerQueue.getInstance().push(log);
return FilterReply.ACCEPT;
}
}

@ -50,7 +50,7 @@ public class WebSocket {
public void onOpen(Session session, @PathParam("userId") String userId) {
this.session = session;
webSocketMap.put(userId, this);
sendMessage("CONNECT_SUCCESS");
sendMessage(Constant.STR_FRONTEND+"连接成功");
System.out.println("【websocket消息】有新的连接,连接id" + userId);
}

@ -10,11 +10,14 @@ import lombok.extern.slf4j.Slf4j;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
/**
* @author: shuguang
@ -23,6 +26,65 @@ import java.util.Locale;
*/
@Slf4j
public class DatabaseUtil {
public static List<Map<String, Object>> selectMaps(String uuid,
String driverName,
String url,
String username,
String password,
String sqlParam) {
List<Map<String, Object>> list = new ArrayList<>();
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
Locale locale = Locale.getDefault();
locale.setDefault(Locale.CHINA);
Class.forName(driverName);
connection = DriverManager.getConnection(url, username, password);
if (!connection.isClosed()) {
log.info("[uuid:{}]-数据库连接成功", uuid);
statement = connection.createStatement();
log.info("[uuid:{}]-开始执行sql语句{}", uuid, sqlParam);
rs = statement.executeQuery(sqlParam);
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while (rs.next()) {
Map<String, Object> row = new HashMap<>(columnCount);
for (int i = 1; i <= columnCount; i++) {
String columnLabel = metaData.getColumnLabel(i);
row.put(columnLabel, rs.getObject(i));
}
list.add(row);
}
}
log.info("[uuid:{}]-执行sql语句完成查询条数为{}", uuid, list.size());
return list;
} catch (ClassNotFoundException e) {
log.error("[uuid:{}]-数据库连接异常{}", uuid, e.getMessage(), e);
throw new PPException(MessageEnum..getCode(),
MessageEnum..getMessage());
} catch (SQLException e) {
log.error("[uuid:{}]-sql语句执行失败{}", uuid, e.getMessage(), e);
throw new PPException(MessageEnum.sql.getCode(),
MessageEnum.sql.getMessage());
} finally {
try {
if (rs != null) {
rs.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
*
*
@ -49,7 +111,7 @@ public class DatabaseUtil {
log.info("[uuid:{}]-数据库连接成功", uuid);
//2.创建statement类对象用来执行SQL语句
statement = connection.createStatement();
log.info("[uuid:{}]-开始执行sql语句{}", uuid,sqlParam);
log.info("[uuid:{}]-开始执行sql语句{}", uuid, sqlParam);
//3.ResultSet类用来存放获取的结果集
//要执行的SQL语句
rs = statement.executeQuery(sqlParam);
@ -66,13 +128,13 @@ public class DatabaseUtil {
list.add(hangTable);
}
}
log.info("[uuid:{}]-执行sql语句完成查询条数为{}", uuid,list.size());
log.info("[uuid:{}]-执行sql语句完成查询条数为{}", uuid, list.size());
return list;
} catch (ClassNotFoundException e) {
log.error("[uuid:{}]-数据库连接异常{}", uuid,e.getMessage(),e);
log.error("[uuid:{}]-数据库连接异常{}", uuid, e.getMessage(), e);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
} catch (SQLException e) {
log.error("[uuid:{}]-sql语句执行失败{}", uuid,e.getMessage(),e);
log.error("[uuid:{}]-sql语句执行失败{}", uuid, e.getMessage(), e);
throw new PPException(MessageEnum.sql.getCode(), MessageEnum.sql.getMessage());
} finally {
try {
@ -91,8 +153,9 @@ public class DatabaseUtil {
}
}
/**
*
*
*/
public static PriceLib selectPriceLib(String driverName, String url, String sqlParam) {
PriceLib priceLib = new PriceLib();

@ -51,6 +51,37 @@ import java.util.zip.ZipOutputStream;
*/
@Slf4j
public class FileUtil {
/**
* preFileName
* @param downloadPath
* @param preFileName
* @return
*/
public static List<String> findFilesByPrefix(String downloadPath, String preFileName) {
List<String> result = new ArrayList<>();
if (downloadPath == null || preFileName == null) {
return result;
}
File dir = new File(downloadPath);
if (!dir.exists() || !dir.isDirectory()) {
return result;
}
// list() 列出目录下所有文件/子目录名
String[] names = dir.list();
if (names == null) {
return result;
}
for (String name : names) {
// 包含即可;如需严格前缀可改为 startsWith
if (name.contains(preFileName)) {
result.add(name);
}
}
return result;
}
/**
*
* @author shuguang

@ -26,15 +26,15 @@ public class NetUtils {
boolean status = false;
try {
s.connect(new InetSocketAddress(host, port), timeout);
System.out.println("ip及端口访问正常");
log.info("ip:{}端口:{}访问正常", host, port);
status = true;
} catch (IOException e) {
System.out.println(host + ":" + port + "无法访问!");
log.info("ip:{}端口:{}无法访问", host, port);
} finally {
try {
s.close();
} catch (IOException ex) {
System.out.println("关闭socket异常" + ex);
log.info("ip:{}端口:{}关闭socket异常", host, port);
}
}
return status;

@ -124,7 +124,8 @@
SELECT
*
FROM
SETUP_TABLE_JAVA SETUP
-- SETUP_TABLE_JAVA SETUP
SETUP_TABLE SETUP
LEFT JOIN PORTTYPE_TEXT PORYTYPE ON SETUP.PORTTYPE= PORYTYPE.VALUE
<where>
PORTIP IS

@ -8,6 +8,7 @@ import com.nm.gsgl.common.enumeration.MessageEnum;
import com.nm.gsgl.common.exception.PPException;
import com.nm.gsgl.common.utils.CreateDbfUtil;
import com.nm.gsgl.common.utils.DESUtil;
import com.nm.gsgl.common.utils.DatabaseUtil;
import com.nm.gsgl.common.utils.DateTimeUtil;
import com.nm.gsgl.common.utils.EncryptionInfo;
import com.nm.gsgl.common.utils.FileUtil;
@ -77,6 +78,7 @@ import com.nm.gsgl.mapper.SysMapper;
import com.nm.gsgl.mapper.TollplazaTableMapper;
import com.nm.gsgl.mapper.UserTableMapper;
import com.nm.gsgl.service.ManualIssueService;
import com.trkf.PasswordEncryption.PassWordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
@ -93,7 +95,6 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author: shuguang
@ -185,13 +186,14 @@ public class ManualIssueServiceImpl implements ManualIssueService {
@Override
public void handSendInfo(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始手动下发参数数据", uuid);
log.info("[uuid:{}]-{}-开始手动下发参数数据", uuid, Constant.STR_FRONTEND);
List<Integer> ids = (List<Integer>) map.get("ids");
String checkedNodes = JSON.toJSONString(map.get("checkedNodes"));
String man = String.valueOf(map.get("man"));
String manno = String.valueOf(map.get("manno"));
String decryptManNo = DESUtil.decrypt(manno);
if (StringUtils.isBlank(decryptManNo)) {
log.error("[uuid:{}]-{}-工号解密失败,请重新登录", uuid, Constant.STR_FRONTEND);
throw new RuntimeException("解密失败,请重新登录");
} else if ("admin".equals(decryptManNo)) {
decryptManNo = "-1";
@ -296,39 +298,33 @@ public class ManualIssueServiceImpl implements ManualIssueService {
ip = PathUtil.hostAddress;
}
if (list != null && list.size() > 0) {
//文件名前缀
String preFileName = "ALLROADMINFEE" + Constant.STR_ + "20" + verNo + Constant.STR_;
List<String> minFeeFileNameList = FileUtil.findFilesByPrefix(DownloadPath, preFileName);
for (SetUpTable setUpTable : list) {
//文件类型
String paraName = cmsParameter.getParaName();
if (StringUtils.isNotBlank(setUpTable.getPORTIP())) {
//路段号
Integer roadNo = setUpTable.getROADNO();
// 站编码
Integer staNo = setUpTable.getSTANO();
// 车道号
Integer portNo = setUpTable.getPORTNO();
//根据选择的站编号及版本号,找到最新的最小费额文件名
//文件名前缀
String preFileName = "ALLROADMINFEE" + Constant.STR_ + "20" + verNo + Constant.STR_ + staNo;
//从文件夹中找到站最新版本的文件名
String fileName = FileUtil.zlibFileName(DownloadPath, preFileName);
//文件类型
//文件名
if (FileUtil.fileExists(DownloadPath + File.separator + fileName)) {
for (String fileName : minFeeFileNameList) {
String stano = fileName.split("_")[2];
QueryWrapper<NameTableDcom> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stano", stano);
NameTableDcom nameTableDcom = nameTableDcomMapper.selectOne(queryWrapper);
Integer roadno = nameTableDcom.getRoadno();
//是否压缩
int isZlib = 1;
////分中心WEB地址
//String ip = PathUtil.hostAddress;
//String ip = "8.142.95.188";
log.info("[uuid:{}]-下发程序ip{},端口号:{}", uuid, ip, tomcatPort);
//ALLROADMINFEE#站编码.SQB0.280.29需要,普通的车道应该还是不带站编码
if (Constant.ZHY_IP_LIST.contains(ip)) {
paraName = paraName.replace(Constant.STR_SQB, "#" + staNo + Constant.STR_SQB);
}
if (paraName.contains("#")) {
paraName = paraName.split("#")[0] + "#" + roadNo + "#" + staNo + Constant.STR_SQB;
} else {
paraName = paraName.replace(Constant.STR_SQB, "_" + roadNo + "_" + staNo + Constant.STR_SQB);
}
//if (Constant.ZHY_IP_LIST.contains(ip)) {
// paraName = paraName.replace(Constant.STR_SQB, "#" + staNo + Constant.STR_SQB);
//}
//if (paraName.contains("#")) {
// paraName = paraName.split("#")[0] + "#" + roadNo + "#" + staNo + Constant.STR_SQB;
//}
String paraName = "ALLROADMINFEE"+"#" + roadno + "#" + stano + Constant.STR_SQB;;
//下载文件地址
String downUrl = Constant.HTTP + ip + Constant.STR_COLON + tomcatPort + Constant.STR_SLASH + PathUtil.webName
@ -341,7 +337,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
//版本号
String version = cmsParameter.getQgCsVerNo();
String socketStr = conStringMin(String.valueOf(protocolType), paraName, fileName, isZlib, ip, downUrl, backUrl, md5, version, isDate, lastNum, roadNo, staNo, portNo);
String socketStr = conStringMin(String.valueOf(protocolType), paraName, fileName, isZlib, ip, downUrl, backUrl, md5, version, isDate, lastNum, roadno, Integer.valueOf(stano), portNo);
//查询获取车道的ip
String portIp = setUpTable.getPORTIP();
@ -353,13 +349,13 @@ public class ManualIssueServiceImpl implements ManualIssueService {
cms.setDt(DateTimeUtil.getDateByDay(date));
cms.setNum(lastNum);
cms.setParaId(paraId);
cms.setRoadNo(roadNo);
cms.setStaNo(staNo);
cms.setRoadNo(roadno);
cms.setStaNo(Integer.valueOf(stano));
cms.setPortNo(portNo);
cms.setVerNo(version);
cms.setZlDt(date);
cms.setSendComNo(roadNo);
cms.setSendSubComNo(roadNo);
cms.setSendComNo(roadno);
cms.setSendSubComNo(roadno);
//增加下传人员编号及姓名
cms.setMan(man);
cms.setManNo(Integer.valueOf(decryptManNo));
@ -368,17 +364,16 @@ public class ManualIssueServiceImpl implements ManualIssueService {
sendSocket(portIp, Integer.valueOf(socketPort), socketStr);
cms.setZlFlag(1);
cms.setZlText("指令发送成功");
log.info("[uuid:{}]-ip:{},发送车道指令成功!", uuid, portIp);
log.info("[uuid:{}]-{}-ip:{},发送车道指令成功!", uuid, Constant.STR_FRONTEND, portIp);
} else {
log.error("[uuid:{}]-ip{},端口号{},无法访问!", uuid, portIp, socketPort);
log.error("[uuid:{}]-{}-ip{},端口号{},无法访问!", uuid, Constant.STR_FRONTEND, portIp, socketPort);
cms.setZlFlag(-1);
cms.setZlText("网络故障");
}
cmsDownLogMapper.insert(cms);
} else {
log.error("[uuid:{}]-当前分中心没有站编号为{},下发的文件{}不存在", uuid, staNo, DownloadPath + File.separator + fileName);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
}
}
@ -429,7 +424,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
fileName, paraName, isZlib, ip, downUrl, backUrl, md5, version, isDate);
} else {
log.error("[uuid:{}]-下发的文件{}不存在", uuid, DownloadPath + File.separator + fileName);
log.error("[uuid:{}]-{}-下发的文件{}不存在", uuid, Constant.STR_FRONTEND, DownloadPath + File.separator + fileName);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
}
}
@ -455,28 +450,40 @@ public class ManualIssueServiceImpl implements ManualIssueService {
} else {
ip = PathUtil.hostAddress;
}
String JTDBType = PropertiesUtil.getValue("JTDBType");
String JTDBUrl = PropertiesUtil.getValue("JTDBUrl");
String JTDBUserName = PropertiesUtil.getValue("JTDBUserName");
String JTDBPassWord = PassWordUtils.decrypt(PropertiesUtil.getValue("JTDBPassWord"));
//版本号
String version = DateTimeUtil.getFormateString(now, Constant.YYYYMMDDHHMMSS);
//下载文件地址
String downUrl = null;
String downUrl;
//回调地址
String backUrl = null;
String backUrl;
//MD5
String md5 = null;
String md5;
//获取生成文件的sql
String sqlStr = null;
String sqlStr;
String driverClassName ;
//判断当前数据库类型1-sqlserver 2-oracle3-达梦4-mysql
if (Constant.STR_ONE.equals(DBType)) {
if (Constant.STR_ONE.equals(JTDBType)) {
sqlStr = cmsParameter.getSqlStr();
} else if (Constant.STR_TWO.equals(DBType)) {
sqlStr = cmsParameter.getOraStr();
} else if (Constant.STR_FOUR.equals(DBType)) {
driverClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
} else {
sqlStr = cmsParameter.getOraStr();
driverClassName ="oracle.jdbc.driver.OracleDriver";
}
String newName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_ZLIB;
List<Map<String, Object>> mapList = sysMapper.selectList(sqlStr);
log.info("[uuid:{}]-{}-先查询再生成文件下发,请稍后....", uuid, Constant.STR_FRONTEND);
List<Map<String, Object>> mapList;
if(paraId ==4){
mapList = sysMapper.selectList(sqlStr);
}else {
mapList = DatabaseUtil.selectMaps(uuid, driverClassName, JTDBUrl, JTDBUserName, JTDBPassWord, sqlStr);
}
CreateDbfUtil.createDbfFile(uuid, paraId, fileName, mapList, DownloadPath);
ZLibUtils.compressFile(DownloadPath + File.separator + fileName, DownloadPath + File.separator + newName, uuid);
//MD5
@ -573,9 +580,10 @@ public class ManualIssueServiceImpl implements ManualIssueService {
sendSocket(portIp, Integer.valueOf(socketPort), socketStr);
cms.setZlFlag(1);
cms.setZlText("指令发送成功");
log.info("[uuid:{}]-{}-ip:{},发送车道指令成功!", uuid, Constant.STR_FRONTEND, portIp);
//cmsDownLogMapper.insert(cms);
} else {
log.error("[uuid:{}]-ip{},端口号{},无法访问!", uuid, portIp, socketPort);
log.error("[uuid:{}]-{}-ip{},端口号{},无法访问!", uuid, Constant.STR_FRONTEND, portIp, socketPort);
cms.setZlFlag(-1);
cms.setZlText("网络故障");
//cmsDownLogMapper.insert(cms);

@ -1,5 +1,8 @@
package org.tempuri;
import com.nm.gsgl.common.Constant;
import com.nm.gsgl.common.enumeration.MessageEnum;
import com.nm.gsgl.common.exception.PPException;
import com.nm.gsgl.common.utils.DateTimeUtil;
import com.nm.gsgl.common.utils.UuidUtil;
import com.nm.gsgl.entity.BackParam;
@ -30,11 +33,11 @@ public class LaneCallbackImpl implements ILaneCallback {
public String CDReturnMsg(String roadno, String stano, String portno, String msgType, String msgText, String zlText) {
String uuid = UuidUtil.getUuid();
try {
log.info("[uuid:{}]-车道回调接口开始", uuid);
log.info("[uuid:{}]-{}-站编码为{},车道号为{}回调接口开始", uuid, Constant.STR_FRONTEND,stano,portno);
byte[] decodedBytes = Base64.getDecoder().decode(msgText);
String str = new String(decodedBytes, "GBK");
String backStr = String.format("roadno:%s,stano:%s,portno:%s,msgtype:%s,msgText:%s,zlText:%s", roadno, stano, portno, msgType, str, zlText);
log.info("[uuid:{}]-车道回调接口参数为{}", uuid, backStr);
log.info("[uuid:{}]-{}-车道回调接口参数为{}", uuid, Constant.STR_FRONTEND,backStr);
String[] arr = zlText.split("\\|");
String paraId = arr[1];
String num = arr[11];
@ -65,8 +68,9 @@ public class LaneCallbackImpl implements ILaneCallback {
log.info("[uuid:{}]-根据车道回调参数插入下传车道结果表{}", uuid, cm);
} catch (Exception e) {
log.error("[uuid:{}]-根据车道回调参数,更新下传车道任务表、插入下传车道结果表失败{}", uuid, e.getMessage(), e);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
}
log.info("[uuid:{}]-车道回调数据处理完成", uuid);
log.info("[uuid:{}]-{}-站编码为{},车道号为{}回调数据处理完成", uuid, Constant.STR_FRONTEND,stano,portno);
return "1";
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.c7a3ecd2.js"></script>
<script type="module" crossorigin src="./assets/index.53e94d39.js"></script>
<link rel="stylesheet" href="./assets/index.f0fb4751.css">
</head>
<body>

@ -1,4 +0,0 @@
序号 日期 版本号 说明
1 2025年01月16日 1.0.0 集团移动端初始版本

@ -0,0 +1,6 @@
序号 日期 版本号 说明
1 2025年01月16日 1.0.0 集团移动端初始版本
2 2025年04月07日 1.0.1 下发页面工号获取失败问题修复
3 2025年07月14日 1.0.2 手动下发时需要生成的数据查询10.15.0.12集团数据库数据,优化参数下发页面日志精简打印标识为[FRONTEND]
下发最小费额逻辑修改,选择一条车道将所有当前最新版本的最小费额文件全部下发到该车道

@ -124,7 +124,8 @@
SELECT
*
FROM
SETUP_TABLE_JAVA SETUP
-- SETUP_TABLE_JAVA SETUP
SETUP_TABLE SETUP
LEFT JOIN PORTTYPE_TEXT PORYTYPE ON SETUP.PORTTYPE= PORYTYPE.VALUE
<where>
PORTIP IS

@ -5,7 +5,7 @@
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.c7a3ecd2.js"></script>
<script type="module" crossorigin src="./assets/index.53e94d39.js"></script>
<link rel="stylesheet" href="./assets/index.f0fb4751.css">
</head>
<body>

@ -1,4 +0,0 @@
序号 日期 版本号 说明
1 2025年01月16日 1.0.0 集团移动端初始版本

@ -124,7 +124,8 @@
SELECT
*
FROM
SETUP_TABLE_JAVA SETUP
-- SETUP_TABLE_JAVA SETUP
SETUP_TABLE SETUP
LEFT JOIN PORTTYPE_TEXT PORYTYPE ON SETUP.PORTTYPE= PORYTYPE.VALUE
<where>
PORTIP IS

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.c7a3ecd2.js"></script>
<script type="module" crossorigin src="./assets/index.53e94d39.js"></script>
<link rel="stylesheet" href="./assets/index.f0fb4751.css">
</head>
<body>

@ -1,4 +0,0 @@
序号 日期 版本号 说明
1 2025年01月16日 1.0.0 集团移动端初始版本

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.c7a3ecd2.js"></script>
<script type="module" crossorigin src="./assets/index.53e94d39.js"></script>
<link rel="stylesheet" href="./assets/index.f0fb4751.css">
</head>
<body>

@ -1,6 +1,6 @@
{
"hash": "1bb56cba",
"browserHash": "a860c549",
"browserHash": "170f0d1f",
"optimized": {
"@element-plus/icons-vue": {
"src": "../../@element-plus/icons-vue/dist/index.js",
@ -212,42 +212,18 @@
"fileHash": "8f8a68c6",
"needsInterop": true
},
"element-plus/es/components/row/style/css": {
"src": "../../element-plus/es/components/row/style/css.mjs",
"file": "element-plus_es_components_row_style_css.js",
"fileHash": "45f95014",
"needsInterop": false
},
"element-plus/es/components/col/style/css": {
"src": "../../element-plus/es/components/col/style/css.mjs",
"file": "element-plus_es_components_col_style_css.js",
"fileHash": "8a0b0d9e",
"needsInterop": false
},
"element-plus/es/components/menu/style/css": {
"src": "../../element-plus/es/components/menu/style/css.mjs",
"file": "element-plus_es_components_menu_style_css.js",
"fileHash": "5941bf82",
"needsInterop": false
},
"element-plus/es/components/menu-item/style/css": {
"src": "../../element-plus/es/components/menu-item/style/css.mjs",
"file": "element-plus_es_components_menu-item_style_css.js",
"fileHash": "2d6b12e6",
"needsInterop": false
},
"element-plus/es/components/icon/style/css": {
"src": "../../element-plus/es/components/icon/style/css.mjs",
"file": "element-plus_es_components_icon_style_css.js",
"fileHash": "29e90ee8",
"needsInterop": false
},
"element-plus/es/components/button/style/css": {
"src": "../../element-plus/es/components/button/style/css.mjs",
"file": "element-plus_es_components_button_style_css.js",
"fileHash": "459b6816",
"needsInterop": false
},
"element-plus/es/components/row/style/css": {
"src": "../../element-plus/es/components/row/style/css.mjs",
"file": "element-plus_es_components_row_style_css.js",
"fileHash": "45f95014",
"needsInterop": false
},
"element-plus/es/components/checkbox-group/style/css": {
"src": "../../element-plus/es/components/checkbox-group/style/css.mjs",
"file": "element-plus_es_components_checkbox-group_style_css.js",
@ -266,22 +242,46 @@
"fileHash": "367d6bf8",
"needsInterop": false
},
"element-plus/es/components/col/style/css": {
"src": "../../element-plus/es/components/col/style/css.mjs",
"file": "element-plus_es_components_col_style_css.js",
"fileHash": "8a0b0d9e",
"needsInterop": false
},
"element-plus/es/components/form/style/css": {
"src": "../../element-plus/es/components/form/style/css.mjs",
"file": "element-plus_es_components_form_style_css.js",
"fileHash": "007b9710",
"needsInterop": false
},
"element-plus/es/components/upload/style/css": {
"src": "../../element-plus/es/components/upload/style/css.mjs",
"file": "element-plus_es_components_upload_style_css.js",
"fileHash": "2868b210",
"needsInterop": false
},
"element-plus/es/components/form-item/style/css": {
"src": "../../element-plus/es/components/form-item/style/css.mjs",
"file": "element-plus_es_components_form-item_style_css.js",
"fileHash": "fa8e64a4",
"needsInterop": false
},
"element-plus/es/components/upload/style/css": {
"src": "../../element-plus/es/components/upload/style/css.mjs",
"file": "element-plus_es_components_upload_style_css.js",
"fileHash": "2868b210",
"element-plus/es/components/icon/style/css": {
"src": "../../element-plus/es/components/icon/style/css.mjs",
"file": "element-plus_es_components_icon_style_css.js",
"fileHash": "29e90ee8",
"needsInterop": false
},
"element-plus/es/components/menu/style/css": {
"src": "../../element-plus/es/components/menu/style/css.mjs",
"file": "element-plus_es_components_menu_style_css.js",
"fileHash": "5941bf82",
"needsInterop": false
},
"element-plus/es/components/menu-item/style/css": {
"src": "../../element-plus/es/components/menu-item/style/css.mjs",
"file": "element-plus_es_components_menu-item_style_css.js",
"fileHash": "2d6b12e6",
"needsInterop": false
},
"element-plus/es/components/radio-group/style/css": {

@ -319,12 +319,16 @@ export default {
websocketonmessage(e) {
const line = e.data;
let line2 = e.data;
if (line.includes('ERROR')) {
line2 = `<p style="color: red;">${line}</p>`
} else {
line2 = `<p>${line}</p>`
if (line.includes("[FRONTEND]")) {
// [FRONTEND]
line2 = line.replace("[FRONTEND]", "");
if (line.includes('ERROR')) {
line2 = `<p style="color: red;">${line2}</p>`;
} else {
line2 = `<p>${line2}</p>`;
}
this.textarea = this.textarea + line2;
}
this.textarea = this.textarea + line2;
},
//
websocketonerror(e) {
@ -344,10 +348,10 @@ export default {
let checkedNodes = this.$refs.treeRef.getCheckedNodes();
// console.log(checkedNodes);
let checkedIds = this.tableDataChecked;
const man = localStorage.getItem("man");
const manno = localStorage.getItem("manno");
// const man = "";
// const manno = "A/WmzjNaj6k=";
// const man = localStorage.getItem("man");
// const manno = localStorage.getItem("manno");
const man = "测试号";
const manno = "A/WmzjNaj6k=";
//this.manno = manno.replace('/', 'AAAAA').replace('\\', 'BBBBB');
//console.log(man);
//console.log(manno);

@ -60,19 +60,19 @@
</el-menu-item>
<el-menu-item index="/YDDManualSendOut/SubCenterOrStation" v-if="isShow">
<el-icon>
<el-icon-position/>
</el-icon>
<span class="menu">参数表下发</span>
</el-menu-item>
<el-menu-item index="/YDDManualSendOut/SubCenterOrStationManage" v-if="isShow">
<el-icon>
<Management/>
</el-icon>
<span class="menu">参数表下发管理</span>
</el-menu-item>
<!-- <el-menu-item index="/YDDManualSendOut/SubCenterOrStation" v-if="isShow">-->
<!-- <el-icon>-->
<!-- <el-icon-position/>-->
<!-- </el-icon>-->
<!-- <span class="menu">参数表下发</span>-->
<!-- </el-menu-item>-->
<!-- <el-menu-item index="/YDDManualSendOut/SubCenterOrStationManage" v-if="isShow">-->
<!-- <el-icon>-->
<!-- <Management/>-->
<!-- </el-icon>-->
<!-- <span class="menu">参数表下发管理</span>-->
<!-- </el-menu-item>-->
</el-menu>
</el-col>

Loading…
Cancel
Save