2024年06月09日 1.0.5 优化参数下发的DBF文件中文乱码问题

main
gaoshuguang 1 year ago
parent 31fcd8c8cf
commit e3ed4be52c

@ -0,0 +1,251 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.linuxense.javadbf;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class DBFHeader {
public static final byte SIG_DBASE_III = 3;
private byte signature = 3;
private byte year;
private byte month;
private byte day;
int numberOfRecords;
short headerLength;
short recordLength;
private short reserv1;
private byte incompleteTransaction;
private byte encryptionFlag;
private int freeRecordThread;
private int reserv2;
private int reserv3;
private byte mdxFlag;
private byte languageDriver;
private short reserv4;
DBFField[] fieldArray;
DBFField[] userFieldArray;
private byte terminator1 = 13;
private Charset detectedCharset;
private Charset usedCharset;
private boolean supportExtendedCharacterFields = true;
private static final int DBASE_LEVEL_7 = 4;
protected DBFHeader() {
}
void read(DataInput dataInput, Charset charset, boolean showDeletedRows) throws IOException {
this.signature = dataInput.readByte();
this.year = dataInput.readByte();
this.month = dataInput.readByte();
this.day = dataInput.readByte();
this.numberOfRecords = DBFUtils.readLittleEndianInt(dataInput);
this.headerLength = DBFUtils.readLittleEndianShort(dataInput);
this.recordLength = DBFUtils.readLittleEndianShort(dataInput);
this.reserv1 = DBFUtils.readLittleEndianShort(dataInput);
this.incompleteTransaction = dataInput.readByte();
this.encryptionFlag = dataInput.readByte();
this.freeRecordThread = DBFUtils.readLittleEndianInt(dataInput);
this.reserv2 = dataInput.readInt();
this.reserv3 = dataInput.readInt();
this.mdxFlag = dataInput.readByte();
this.languageDriver = dataInput.readByte();
this.reserv4 = DBFUtils.readLittleEndianShort(dataInput);
this.detectedCharset = DBFCharsetHelper.getCharsetByByte(this.languageDriver);
int read = 32;
if (this.isDB7()) {
byte[] languageName = new byte[32];
dataInput.readFully(languageName);
dataInput.readInt();
read += 36;
}
List<DBFField> v_fields = new ArrayList();
this.usedCharset = this.detectedCharset;
if (charset != null) {
this.usedCharset = charset;
}
if (this.usedCharset == null) {
this.usedCharset = DBFStandardCharsets.ISO_8859_1;
}
if (this.isDB7()) {
while(read <= this.headerLength - 48) {
DBFField field = DBFField.createFieldDB7(dataInput, this.usedCharset, this.supportExtendedCharacterFields);
if (field == null) {
++read;
break;
}
v_fields.add(field);
read += 48;
}
} else {
for(boolean useFieldFlags = this.supportsFieldFlags(); read <= this.headerLength - 32; read += 32) {
DBFField field = DBFField.createField(dataInput, this.usedCharset, useFieldFlags, this.supportExtendedCharacterFields);
if (field == null) {
++read;
break;
}
v_fields.add(field);
}
}
int skip = this.headerLength - read;
DBFUtils.skipDataInput(dataInput, skip);
this.fieldArray = (DBFField[])v_fields.toArray(new DBFField[v_fields.size()]);
List<DBFField> userFields = new ArrayList();
if (showDeletedRows) {
DBFField deletedField = new DBFField("deleted", DBFDataType.LOGICAL);
userFields.add(deletedField);
}
DBFField[] var16 = this.fieldArray;
int var9 = var16.length;
for(int var10 = 0; var10 < var9; ++var10) {
DBFField field1 = var16[var10];
if (!field1.isSystem() && field1.getType() != DBFDataType.NULL_FLAGS) {
userFields.add(field1);
}
}
this.userFieldArray = (DBFField[])userFields.toArray(new DBFField[userFields.size()]);
}
private boolean supportsFieldFlags() {
return this.signature == 2 || this.signature == 48 || this.signature == 49 || this.signature == -11 || this.signature == -5;
}
int getTableHeaderSize() {
return this.isDB7() ? 68 : 32;
}
int getFieldDescriptorSize() {
return this.isDB7() ? 48 : 32;
}
private boolean isDB7() {
return (this.signature & 7) == 4;
}
void write(DataOutput dataOutput) throws IOException {
dataOutput.writeByte(this.signature);
Calendar calendar = Calendar.getInstance();
this.year = (byte)(calendar.get(1) - 1900);
this.month = (byte)(calendar.get(2) + 1);
this.day = (byte)calendar.get(5);
dataOutput.writeByte(this.year);
dataOutput.writeByte(this.month);
dataOutput.writeByte(this.day);
this.numberOfRecords = DBFUtils.littleEndian(this.numberOfRecords);
dataOutput.writeInt(this.numberOfRecords);
short oldHeaderLength = this.headerLength;
short newHeaderLength = this.findHeaderLength();
if (oldHeaderLength == 0) {
this.headerLength = newHeaderLength;
} else if (newHeaderLength > oldHeaderLength) {
throw new DBFException("Invalid header length");
}
dataOutput.writeShort(DBFUtils.littleEndian(this.headerLength));
this.recordLength = this.sumUpLenghtOfFields();
dataOutput.writeShort(DBFUtils.littleEndian(this.recordLength));
dataOutput.writeShort(DBFUtils.littleEndian(this.reserv1));
dataOutput.writeByte(this.incompleteTransaction);
dataOutput.writeByte(this.encryptionFlag);
dataOutput.writeInt(DBFUtils.littleEndian(this.freeRecordThread));
dataOutput.writeInt(DBFUtils.littleEndian(this.reserv2));
dataOutput.writeInt(DBFUtils.littleEndian(this.reserv3));
dataOutput.writeByte(this.mdxFlag);
//if (this.languageDriver != 0) {
// dataOutput.writeByte(this.languageDriver);
//} else if (this.getUsedCharset() != null) {
// dataOutput.writeByte(DBFCharsetHelper.getDBFCodeForCharset(this.getUsedCharset()));
//} else {
dataOutput.writeByte(0);
//}
dataOutput.writeShort(DBFUtils.littleEndian(this.reserv4));
DBFField[] var5 = this.fieldArray;
int var6 = var5.length;
for(int var7 = 0; var7 < var6; ++var7) {
DBFField field = var5[var7];
field.write(dataOutput, this.getUsedCharset());
}
dataOutput.writeByte(this.terminator1);
}
private short findHeaderLength() {
return (short)(32 + 32 * this.fieldArray.length + 1);
}
private short sumUpLenghtOfFields() {
int sum = 0;
DBFField[] var2 = this.fieldArray;
int var3 = var2.length;
for(int var4 = 0; var4 < var3; ++var4) {
DBFField field = var2[var4];
sum += field.getLength();
}
return (short)(sum + 1);
}
public int getYear() {
return 1900 + this.year;
}
public int getMonth() {
return this.month;
}
public int getDay() {
return this.day;
}
public Date getLastModificationDate() {
if (this.year != 0 && this.month != 0 && this.day != 0) {
try {
Calendar calendar = Calendar.getInstance();
calendar.set(this.year, this.month, this.day, 0, 0, 0);
calendar.set(14, 0);
return calendar.getTime();
} catch (Exception var2) {
return null;
}
} else {
return null;
}
}
protected Charset getDetectedCharset() {
return this.detectedCharset;
}
protected Charset getUsedCharset() {
return this.usedCharset;
}
protected void setUsedCharset(Charset charset) {
this.usedCharset = charset;
}
public void setSupportExtendedCharacterFields(boolean supportExtendedCharacterFields) {
this.supportExtendedCharacterFields = supportExtendedCharacterFields;
}
}

@ -15,6 +15,7 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@ -34,7 +35,9 @@ public class DbfUtil {
DBFReader dbfReader;
DBFWriter dbfWriter = null;
try {
dbfReader = new DBFReader(new FileInputStream(PathUtil.fileModuleName + dbName), Charset.forName(Constant.GBK));
//dbfReader = new DBFReader(new FileInputStream(PathUtil.fileModuleName + dbName), Charset.forName(Constant.GBK));
//dbfReader = new DBFReader(new FileInputStream(PathUtil.fileModuleName + dbName), StandardCharsets.UTF_8);
dbfReader = new DBFReader(new FileInputStream(PathUtil.fileModuleName + dbName));
FileUtil.copyFile(PathUtil.fileModuleName + dbName, downloadPath + File.separator + dbName);
//获取字段数量
int fieldCount = dbfReader.getFieldCount();
@ -44,6 +47,7 @@ public class DbfUtil {
}
File fileWriter = new File(downloadPath + File.separator + dbName);
dbfWriter = new DBFWriter(fileWriter, Charset.forName(Constant.GBK));
//dbfWriter = new DBFWriter(fileWriter, StandardCharsets.UTF_8);
//需要先设置好fileds本方法fields与读取的dbf文件相同所以直接从读取dbf文件拿。
//如果文件不存在需要设置dbf文件字段头

@ -3,6 +3,7 @@ package com.nm.gsgl.common.utils;
import com.linuxense.javadbf.DBFReader;
import com.linuxense.javadbf.DBFWriter;
import com.nm.gsgl.common.Constant;
import org.apache.commons.lang3.StringUtils;
import java.io.FileInputStream;
import java.io.IOException;
@ -493,7 +494,11 @@ public class SetDBFValueUtil {
rowData[8] = String.valueOf(objectMap.getOrDefault("CTRLID", Constant.NULL_STRING));
rowData[9] = String.valueOf(objectMap.getOrDefault("PASSWD", Constant.NULL_STRING));
rowData[10] = String.valueOf(objectMap.getOrDefault("CARDID", Constant.NULL_STRING));
rowData[11] = String.valueOf(objectMap.getOrDefault("CARDNO", Constant.NULL_STRING));
String cardno = String.valueOf(objectMap.getOrDefault("CARDNO", Constant.NULL_STRING));
rowData[11] ="";
if(StringUtils.isNotBlank(cardno) && cardno.length()>10){
rowData[11]=cardno.substring(0, 10);
}
rowData[12] = String.valueOf(objectMap.getOrDefault("SEX", Constant.NULL_STRING));
//添加记录(此时并没有写入文件)
dbfWriter.addRecord(rowData);

@ -1,5 +1,7 @@
package com.nm.gsgl.controller;
import com.nm.gsgl.common.Constant;
import com.nm.gsgl.common.utils.PropertiesUtil;
import com.nm.gsgl.common.utils.UuidUtil;
import com.nm.gsgl.service.ManagerService;
import lombok.extern.slf4j.Slf4j;
@ -35,20 +37,108 @@ public class DcomTreeController {
Map<String, Object> selectParams = new HashMap<>();
List<String> myChecked = new ArrayList<>();
log.info("[uuid:{}]-开始查询车道信息", uuid);
String isNmgGs = PropertiesUtil.getValue("isNmgGs");
try {
switch (userType) {
case "4":
List<Map<String, Object>> dComTree = managerService.selectLWZXNMGLWADMIN(selectParams);
for (int i = 0; i < dComTree.size(); i++) {
//判断是否是高路公司管辖指定的站系统
if(Constant.STR_ONE.equals(isNmgGs)){
//获取当前所管辖的站编码,多个站用逗号隔开
String controlStaNo = PropertiesUtil.getValue("controlStaNo").trim();
selectParams.put("STANO", controlStaNo);
List<Map<String, Object>> SFZTree = managerService.selectJTSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
//增加车道信息
selectParams.clear();
selectParams.put("SUBCOMNO", dComTree.get(i).get("STANO"));
List<Map<String, Object>> FZXTree = managerService.selectFZXNMGLWADMIN(selectParams);
dComTree.get(i).put("id", dComTree.get(i).get("ROADNO") + dComTree.get(i).get("STANO").toString());
dComTree.get(i).put("label", getLaber(dComTree.get(i)));
selectParams.put("ROADNO", SFZTree.get(k).get("ROADNO"));
selectParams.put("STANO", SFZTree.get(k).get("STANO"));
List<Map<String, Object>> CDTree = managerService.selectCD(selectParams);
for (int m = 0; m < CDTree.size(); m++) {
CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
CDTree.get(m).put("label", getLaber2(CDTree.get(m)));
if (CDTree.get(m).get("UNUSE12") != null && CDTree.get(m).get("UNUSE12").toString().equals("1")) {
//myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString());
myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
}
}
if (CDTree == null || CDTree.size() == 0) {
SFZTree.remove(k);
k--;
} else {
SFZTree.get(k).put("children", CDTree);
}
}
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", SFZTree);
log.info("[uuid:{}]-集团管辖站编码:{},查询车道信息完成", uuid,controlStaNo);
return resultMap;
}else{
switch (userType) {
case "4":
List<Map<String, Object>> dComTree = managerService.selectLWZXNMGLWADMIN(selectParams);
for (int i = 0; i < dComTree.size(); i++) {
selectParams.clear();
selectParams.put("SUBCOMNO", dComTree.get(i).get("STANO"));
List<Map<String, Object>> FZXTree = managerService.selectFZXNMGLWADMIN(selectParams);
dComTree.get(i).put("id", dComTree.get(i).get("ROADNO") + dComTree.get(i).get("STANO").toString());
dComTree.get(i).put("label", getLaber(dComTree.get(i)));
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
List<Map<String, Object>> SFZTree = managerService.selectSFZNMGLWADMIN(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
//增加车道信息
selectParams.clear();
selectParams.put("ROADNO", SFZTree.get(k).get("ROADNO"));
selectParams.put("STANO", SFZTree.get(k).get("STANO"));
List<Map<String, Object>> CDTree = managerService.selectCD(selectParams);
for (int m = 0; m < CDTree.size(); m++) {
//CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString());
CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
CDTree.get(m).put("label", getLaber2(CDTree.get(m)));
if (CDTree.get(m).get("UNUSE12") != null && CDTree.get(m).get("UNUSE12").toString().equals("1")) {
//myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString());
myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
}
}
if (CDTree == null || CDTree.size() == 0) {
SFZTree.remove(k);
k--;
} else {
SFZTree.get(k).put("children", CDTree);
}
}
FZXTree.get(j).put("id", FZXTree.get(j).get("ROADNO") + FZXTree.get(j).get("STANO").toString());
FZXTree.get(j).put("label", getLaber(FZXTree.get(j)));
if (SFZTree == null || SFZTree.size() == 0) {
FZXTree.remove(j);
j--;
} else {
FZXTree.get(j).put("children", SFZTree);
}
}
if (FZXTree == null || FZXTree.size() == 0) {
dComTree.remove(i);
i--;
} else {
dComTree.get(i).put("children", FZXTree);
}
}
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", dComTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
case "2":
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> FZXTree = managerService.selectFZX(selectParams);
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
List<Map<String, Object>> SFZTree = managerService.selectSFZNMGLWADMIN(selectParams);
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
@ -58,7 +148,6 @@ public class DcomTreeController {
selectParams.put("STANO", SFZTree.get(k).get("STANO"));
List<Map<String, Object>> CDTree = managerService.selectCD(selectParams);
for (int m = 0; m < CDTree.size(); m++) {
//CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString());
CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
CDTree.get(m).put("label", getLaber2(CDTree.get(m)));
if (CDTree.get(m).get("UNUSE12") != null && CDTree.get(m).get("UNUSE12").toString().equals("1")) {
@ -66,6 +155,7 @@ public class DcomTreeController {
myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
}
}
if (CDTree == null || CDTree.size() == 0) {
SFZTree.remove(k);
k--;
@ -81,25 +171,14 @@ public class DcomTreeController {
} else {
FZXTree.get(j).put("children", SFZTree);
}
}
if (FZXTree == null || FZXTree.size() == 0) {
dComTree.remove(i);
i--;
} else {
dComTree.get(i).put("children", FZXTree);
}
}
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", dComTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
case "2":
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> FZXTree = managerService.selectFZX(selectParams);
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", FZXTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
//return FZXTree;
case "1":
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
@ -117,7 +196,6 @@ public class DcomTreeController {
myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
}
}
if (CDTree == null || CDTree.size() == 0) {
SFZTree.remove(k);
k--;
@ -125,55 +203,17 @@ public class DcomTreeController {
SFZTree.get(k).put("children", CDTree);
}
}
FZXTree.get(j).put("id", FZXTree.get(j).get("ROADNO") + FZXTree.get(j).get("STANO").toString());
FZXTree.get(j).put("label", getLaber(FZXTree.get(j)));
if (SFZTree == null || SFZTree.size() == 0) {
FZXTree.remove(j);
j--;
} else {
FZXTree.get(j).put("children", SFZTree);
}
}
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", FZXTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
//return FZXTree;
case "1":
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
//增加车道信息
selectParams.clear();
selectParams.put("ROADNO", SFZTree.get(k).get("ROADNO"));
selectParams.put("STANO", SFZTree.get(k).get("STANO"));
List<Map<String, Object>> CDTree = managerService.selectCD(selectParams);
for (int m = 0; m < CDTree.size(); m++) {
CDTree.get(m).put("id", CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
CDTree.get(m).put("label", getLaber2(CDTree.get(m)));
if (CDTree.get(m).get("UNUSE12") != null && CDTree.get(m).get("UNUSE12").toString().equals("1")) {
//myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString());
myChecked.add(CDTree.get(m).get("ROADNO") + CDTree.get(m).get("STANO").toString() + CDTree.get(m).get("PORTNO").toString());
}
}
if (CDTree == null || CDTree.size() == 0) {
SFZTree.remove(k);
k--;
} else {
SFZTree.get(k).put("children", CDTree);
}
}
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", SFZTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
//return SFZTree;
default:
log.error("配置文件UserType配置错误!请检查");
throw new RuntimeException("配置文件UserType配置错误!请检查");
resultMap.put("myChecked", myChecked);
resultMap.put("treeData", SFZTree);
log.info("[uuid:{}]-查询车道信息完成", uuid);
return resultMap;
//return SFZTree;
default:
log.error("配置文件UserType配置错误!请检查");
throw new RuntimeException("配置文件UserType配置错误!请检查");
}
}
} catch (RuntimeException e) {
e.printStackTrace();
}

@ -1,5 +1,7 @@
package com.nm.gsgl.controller;
import com.nm.gsgl.common.Constant;
import com.nm.gsgl.common.utils.PropertiesUtil;
import com.nm.gsgl.common.utils.UuidUtil;
import com.nm.gsgl.service.ManagerService;
import lombok.extern.slf4j.Slf4j;
@ -40,59 +42,76 @@ public class SubCenterOrStationController {
String uuid = UuidUtil.getUuid();
Map<String, Object> selectParams = new HashMap<>();
List<Map<String, Object>> mapList = new ArrayList<>();
String isNmgGs = PropertiesUtil.getValue("isNmgGs");
try {
switch (userType) {
case "4":
log.info("[uuid:{}]-开始查询分中心信息", uuid);
List<Map<String, Object>> dComTree = managerService.selectLWZXNMGLWADMIN(selectParams);
for (int i = 0; i < dComTree.size(); i++) {
selectParams.clear();
selectParams.put("SUBCOMNO", dComTree.get(i).get("STANO"));
List<Map<String, Object>> FZXTree = managerService.selectFZXNMGLWADMIN(selectParams);
dComTree.get(i).put("id", dComTree.get(i).get("ROADNO") + dComTree.get(i).get("STANO").toString());
dComTree.get(i).put("label", getLaber(dComTree.get(i)));
//判断是否是高路公司管辖指定的站系统
if(Constant.STR_ONE.equals(isNmgGs)){
//获取当前所管辖的站编码,多个站用逗号隔开
String controlStaNo = PropertiesUtil.getValue("controlStaNo").trim();
log.info("[uuid:{}]-开始查询集团所管辖站编码为{}的收费站信息", uuid,controlStaNo);
selectParams.put("STANO", controlStaNo);
List<Map<String, Object>> SFZTree = managerService.selectJTSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
}
log.info("[uuid:{}]-查询集团所管辖站编码为{}的收费站信息完成", uuid,controlStaNo);
return SFZTree;
}else {
switch (userType) {
case "4":
log.info("[uuid:{}]-开始查询分中心信息", uuid);
List<Map<String, Object>> dComTree = managerService.selectLWZXNMGLWADMIN(selectParams);
for (int i = 0; i < dComTree.size(); i++) {
selectParams.clear();
selectParams.put("SUBCOMNO", dComTree.get(i).get("STANO"));
List<Map<String, Object>> FZXTree = managerService.selectFZXNMGLWADMIN(selectParams);
dComTree.get(i).put("id", dComTree.get(i).get("ROADNO") + dComTree.get(i).get("STANO").toString());
dComTree.get(i).put("label", getLaber(dComTree.get(i)));
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
FZXTree.get(j).put("id", FZXTree.get(j).get("ROADNO") + FZXTree.get(j).get("STANO").toString());
FZXTree.get(j).put("label", getLaber(FZXTree.get(j)));
}
dComTree.get(i).put("children", FZXTree);
}
log.info("[uuid:{}]-查询分中心信息完成", uuid);
return dComTree;
case "2":
log.info("[uuid:{}]-开始查询收费站信息", uuid);
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> FZXTree = managerService.selectFZX(selectParams);
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
}
FZXTree.get(j).put("id", FZXTree.get(j).get("ROADNO") + FZXTree.get(j).get("STANO").toString());
FZXTree.get(j).put("label", getLaber(FZXTree.get(j)));
FZXTree.get(j).put("children", SFZTree);
}
dComTree.get(i).put("children", FZXTree);
}
log.info("[uuid:{}]-查询分中心信息完成", uuid);
return dComTree;
case "2":
log.info("[uuid:{}]-开始查询收费站信息", uuid);
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> FZXTree = managerService.selectFZX(selectParams);
for (int j = 0; j < FZXTree.size(); j++) {
selectParams.clear();
selectParams.put("SUBCOMNO", FZXTree.get(j).get("STANO"));
log.info("[uuid:{}]-查询收费站信息完成", uuid);
return FZXTree;
case "1":
log.info("[uuid:{}]-开始查询收费站信息", uuid);
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
}
FZXTree.get(j).put("id", FZXTree.get(j).get("ROADNO") + FZXTree.get(j).get("STANO").toString());
FZXTree.get(j).put("label", getLaber(FZXTree.get(j)));
FZXTree.get(j).put("children", SFZTree);
}
log.info("[uuid:{}]-查询收费站信息完成", uuid);
return FZXTree;
case "1":
log.info("[uuid:{}]-开始查询收费站信息", uuid);
selectParams.put("STANO", UserStaNO);
List<Map<String, Object>> SFZTree = managerService.selectSFZ(selectParams);
for (int k = 0; k < SFZTree.size(); k++) {
SFZTree.get(k).put("id", SFZTree.get(k).get("ROADNO") + SFZTree.get(k).get("STANO").toString());
SFZTree.get(k).put("label", getLaber(SFZTree.get(k)));
}
log.info("[uuid:{}]-查询收费站信息完成", uuid);
return SFZTree;
default:
log.error("配置文件UserType配置错误!请检查");
throw new RuntimeException("配置文件UserType配置错误!请检查");
log.info("[uuid:{}]-查询收费站信息完成", uuid);
return SFZTree;
default:
log.error("配置文件UserType配置错误!请检查");
throw new RuntimeException("配置文件UserType配置错误!请检查");
}
}
} catch (RuntimeException e) {
log.error("查询错误{}",e.getMessage());
}

@ -59,92 +59,95 @@ public class DbSwitchServiceImpl implements DbSwitchService {
});
if (list != null && list.size() > 0) {
for (NameTableDcomDec nameTableDcom : list) {
Integer roadno = nameTableDcom.getROADNO();
Integer stano = nameTableDcom.getSTANO();
String logName = nameTableDcom.getLOGNAME();
String logPw = PassWordUtils.decrypt(nameTableDcom.getLOGPW());
String srvIp = nameTableDcom.getSRVIP();
String srvName = nameTableDcom.getSRVNAME();
String staName = nameTableDcom.getSTANAME();
//获取目的数据库类型 1-sqlserver 2-oracle3-达梦4-mysql
String targetDbType = nameTableDcom.getDBTYPE();
String targetUrl ;
String targetDriver;
if(Constant.STR_FOUR.equals(targetDbType)){
targetUrl = Constant.JDBC_MYSQL + srvIp + Constant.MYSQL_PORT + srvName +Constant.MYSQL_SUFFIX;
targetDriver = Constant.MYSQL_DRIVER;
}else if(Constant.STR_ONE.equals(targetDbType)) {
targetUrl = Constant.JDBC_SQLSERVER + srvIp + Constant.SQLSERVER_PORT_DATA_BASENAME + srvName;
targetDriver = Constant.SQLSERVER_DRIVER;
}else if(Constant.STR_TWO.equals(targetDbType)) {
targetUrl = Constant.JDBC_ORACLE + srvIp + Constant.ORACLE_PORT + srvName;
targetDriver = Constant.ORACLE_DRIVER;
}else {
targetUrl = Constant.JDBC_DM + srvIp + Constant.DM_PORT + srvName+ Constant.DM_SUFFIX;
targetDriver = Constant.DM_DRIVER;
}
if(nameTableDcom.getUSERTYPE()==1){
Integer roadno = nameTableDcom.getROADNO();
Integer stano = nameTableDcom.getSTANO();
String logName = nameTableDcom.getLOGNAME();
String logPw = PassWordUtils.decrypt(nameTableDcom.getLOGPW());
String srvIp = nameTableDcom.getSRVIP();
String srvName = nameTableDcom.getSRVNAME();
String staName = nameTableDcom.getSTANAME();
//获取目的数据库类型 1-sqlserver 2-oracle3-达梦4-mysql
String targetDbType = nameTableDcom.getDBTYPE();
String targetUrl ;
String targetDriver;
if(Constant.STR_FOUR.equals(targetDbType)){
targetUrl = Constant.JDBC_MYSQL + srvIp + Constant.MYSQL_PORT + srvName +Constant.MYSQL_SUFFIX;
targetDriver = Constant.MYSQL_DRIVER;
}else if(Constant.STR_ONE.equals(targetDbType)) {
targetUrl = Constant.JDBC_SQLSERVER + srvIp + Constant.SQLSERVER_PORT_DATA_BASENAME + srvName;
targetDriver = Constant.SQLSERVER_DRIVER;
}else if(Constant.STR_TWO.equals(targetDbType)) {
targetUrl = Constant.JDBC_ORACLE + srvIp + Constant.ORACLE_PORT + srvName;
targetDriver = Constant.ORACLE_DRIVER;
}else {
targetUrl = Constant.JDBC_DM + srvIp + Constant.DM_PORT + srvName+ Constant.DM_SUFFIX;
targetDriver = Constant.DM_DRIVER;
}
if (ids != null && ids.size() > 0) {
for (Integer id : ids) {
CmsDataSynchro cmsDataSynchro = cmsDataSynchroMapper.selectById(id);
//中文表名
String cName = cmsDataSynchro.getCname();
//源表表名
String source = cmsDataSynchro.getSource();
////判断当前表名是不是CMS_USERPRMIS_TABLE
//if("CMS_USERPRMIS_TABLE".equalsIgnoreCase(source)){
// log.info("[uuid:{}]-开始执行CMS_USERPRMIS_TABLE表SQL", uuid);
// String impSql="";
// if(Constant.STR_ONE.equals(dbType)){
// impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(PRMISFLAG+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1";
// }else {
// impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( PRMISFLAG + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1";
// }
// DatabaseUtil.updateSql(driverName,url,username, password, impSql);
// String publicSql = "UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = '2-' WHERE MENUTYPE IS NULL";
// DatabaseUtil.updateSql(driverName,url,username, password, publicSql);
// log.info("[uuid:{}]-执行CMS_USERPRMIS_TABLE表SQL完成", uuid);
//}
if (ids != null && ids.size() > 0) {
for (Integer id : ids) {
CmsDataSynchro cmsDataSynchro = cmsDataSynchroMapper.selectById(id);
//中文表名
String cName = cmsDataSynchro.getCname();
//源表表名
String source = cmsDataSynchro.getSource();
////判断当前表名是不是CMS_USERPRMIS_TABLE
//if("CMS_USERPRMIS_TABLE".equalsIgnoreCase(source)){
// log.info("[uuid:{}]-开始执行CMS_USERPRMIS_TABLE表SQL", uuid);
// String impSql="";
// if(Constant.STR_ONE.equals(dbType)){
// impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(PRMISFLAG+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1";
// }else {
// impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( PRMISFLAG + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1";
// }
// DatabaseUtil.updateSql(driverName,url,username, password, impSql);
// String publicSql = "UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = '2-' WHERE MENUTYPE IS NULL";
// DatabaseUtil.updateSql(driverName,url,username, password, publicSql);
// log.info("[uuid:{}]-执行CMS_USERPRMIS_TABLE表SQL完成", uuid);
//}
//目的表表名
String destination = cmsDataSynchro.getDestination();
if (StringUtils.isNotBlank(source) && StringUtils.isNotBlank(destination) && source.equalsIgnoreCase(destination)) {
String sqlParam;
if (StringUtils.isNotBlank(cmsDataSynchro.getWhereStr())) {
sqlParam = Constant.SELECT_FROM + source + Constant.WHERE + cmsDataSynchro.getWhereStr()
.replace("%STANO%", stano.toString())
.replace("%ROADNO%", roadno.toString());
} else {
sqlParam = Constant.SELECT_FROM + source;
}
log.info("[uuid:{}]-开始查询{}--{}数据", uuid, cName, source);
ExportSqlUtil.initConnection(driverName,
url, username, password);
//List<String> stringList = ExportSqlUtil.executeSQLAndBuildSqlFile("dbo", source, sqlParam);
List<String> stringList = ExportSqlUtil.executeSQLAndBuildSqlFile("", source, sqlParam);
//目的表表名
String destination = cmsDataSynchro.getDestination();
if (StringUtils.isNotBlank(source) && StringUtils.isNotBlank(destination) && source.equalsIgnoreCase(destination)) {
String sqlParam;
if (StringUtils.isNotBlank(cmsDataSynchro.getWhereStr())) {
sqlParam = Constant.SELECT_FROM + source + Constant.WHERE + cmsDataSynchro.getWhereStr()
.replace("%STANO%", stano.toString())
.replace("%ROADNO%", roadno.toString());
} else {
sqlParam = Constant.SELECT_FROM + source;
}
log.info("[uuid:{}]-开始查询{}--{}数据", uuid, cName, source);
ExportSqlUtil.initConnection(driverName,
url, username, password);
//List<String> stringList = ExportSqlUtil.executeSQLAndBuildSqlFile("dbo", source, sqlParam);
List<String> stringList = ExportSqlUtil.executeSQLAndBuildSqlFile("", source, sqlParam);
DatabaseUtil.toInsertString(targetDriver,
targetUrl, logName, logPw, destination, stringList, uuid);
DatabaseUtil.toInsertString(targetDriver,
targetUrl, logName, logPw, destination, stringList, uuid);
//判断当前表名是不是CMS_USERPRMIS_TABLE
if("CMS_USERPRMIS_TABLE".equalsIgnoreCase(source)){
log.info("[uuid:{}]-开始执行CMS_USERPRMIS_TABLE表SQL", uuid);
String impSql="";
if(Constant.STR_ONE.equals(targetDbType)){
impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(PRMISFLAG+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1";
}else {
impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( PRMISFLAG + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1";
//判断当前表名是不是CMS_USERPRMIS_TABLE
if("CMS_USERPRMIS_TABLE".equalsIgnoreCase(source)){
log.info("[uuid:{}]-开始执行CMS_USERPRMIS_TABLE表SQL", uuid);
String impSql="";
if(Constant.STR_ONE.equals(targetDbType)){
impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(PRMISFLAG+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1";
}else {
impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( PRMISFLAG + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1";
}
DatabaseUtil.updateSql(targetDriver,targetUrl, logName, logPw, impSql);
String publicSql = "UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = '2-' WHERE MENUTYPE IS NULL";
DatabaseUtil.updateSql(targetDriver,targetUrl, logName, logPw, publicSql);
log.info("[uuid:{}]-执行CMS_USERPRMIS_TABLE表SQL完成", uuid);
}
DatabaseUtil.updateSql(targetDriver,targetUrl, logName, logPw, impSql);
String publicSql = "UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = '2-' WHERE MENUTYPE IS NULL";
DatabaseUtil.updateSql(targetDriver,targetUrl, logName, logPw, publicSql);
log.info("[uuid:{}]-执行CMS_USERPRMIS_TABLE表SQL完成", uuid);
log.info("[uuid:{}]-同步更新--{}--{}--{}数据完成", uuid, staName, cName, source);
}
log.info("[uuid:{}]-同步更新--{}--{}--{}数据完成", uuid, staName, cName, source);
}
}
}
}
}
log.info("[uuid:{}]-手动同步数据库表中数据完成", uuid);

@ -19,4 +19,5 @@ public class NameTableDcomDec {
private String SERVERINFO;
private String STANAME;
private String DBTYPE;
private Integer USERTYPE;
}

@ -28,4 +28,7 @@ public interface TreeMapper extends BaseMapper<List<Map<String, Object>>> {
List<Map<String, Object>> selectFZXNMGLWADMIN(Map<String, Object> params);
List<Map<String, Object>> selectSFZNMGLWADMIN(Map<String, Object> params);
List<Map<String, Object>> selectJTSFZ(Map<String, Object> selectParams);
}

@ -106,5 +106,19 @@
</if>
</where>
</select>
<select id="selectJTSFZ" resultType="java.util.Map">
SELECT
*
FROM
NAME_TABLE_DCOM
<where>
USERTYPE = 1
<if test="STANO != null and STANO != ''">
AND STANO in ( ${STANO} )
</if>
</where>
</select>
</mapper>

@ -14,6 +14,7 @@ public interface ManagerService {
List<Map<String, Object>> selectFZX(Map<String, Object> selectParams);
List<Map<String, Object>> selectSFZ(Map<String, Object> selectParams);
List<Map<String, Object>> selectJTSFZ(Map<String, Object> selectParams);
List<Map<String, Object>> selectCD(Map<String, Object> selectParams);
//String selectPortType(String portType);
/**

@ -39,6 +39,11 @@ public class ManagerServiceImpl implements ManagerService {
return treeMapper.selectSFZ(selectParams);
}
@Override
public List<Map<String, Object>> selectJTSFZ(Map<String, Object> selectParams) {
return treeMapper.selectJTSFZ(selectParams);
}
@Override
public List<Map<String, Object>> selectCD(Map<String, Object> selectParams) {
return treeMapper.selectCD(selectParams);

@ -633,15 +633,15 @@ public class ManualIssueServiceImpl implements ManualIssueService {
});
Optional<ServerInfo> serverInfoOptional = serverInfos.stream().filter(item -> item.getNAME().equals(PathUtil.webName)).findFirst();
//获取分中心/收费站程序的IP
String fzxOrSfzIp;
String fzxOrSfzIp="";
//获取分中心/收费站应用程序端口
String fzxOrSfzPort;
String fzxOrSfzPort="0";
if (serverInfoOptional.isPresent()) {
fzxOrSfzIp = serverInfoOptional.get().getIP();
fzxOrSfzPort = serverInfoOptional.get().getPORT();
} else {
log.error("[uuid:{}]-在NAME_TABLE_DCOM表字段SERVERINFO中未找到程序{}的IP和端口号", uuid, PathUtil.webName);
throw new PPException(MessageEnum.NAME_TABLE_DCOMIP.getCode(), MessageEnum.NAME_TABLE_DCOMIP.getMessage());
//} else {
// log.error("[uuid:{}]-在NAME_TABLE_DCOM表字段SERVERINFO中未找到程序{}的IP和端口号", uuid, PathUtil.webName);
// throw new PPException(MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getCode(), MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getMessage());
}
// 分中心/收费站文件地址
String staUrl = Constant.HTTP + fzxOrSfzIp + Constant.STR_COLON + fzxOrSfzPort + Constant.STR_SLASH + PathUtil.webName

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,31 @@
<!DOCTYPE html>
<!--<html lang="en" class="dark">-->
<html lang="en" class="light">
<head>
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.0fd88e87.js"></script>
<link rel="stylesheet" href="./assets/index.d94d690a.css">
</head>
<body>
<div id="app">
<div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
<i></i>
<i></i>
<i></i>
<i></i>
</span>
</div>
<div class="loading-title">
正在缓冲...
</div>
</div>
</div>
</div>
</body>
</html>

@ -2,8 +2,10 @@
序号 日期 版本号 说明
1 2023年07月14日 1.0.0 车道分发参数页面分中心、收费站增加参数手动上传ZLIB文件
2 2023年07月25日 1.0.1 手动下发联网中心下发车道联网中心查询NMGLWADMIN.NAME_TABLE_DCOM表信息
3 2024年08月14日 1.0.2 增加9001-费率下传文件上传功能,优化已选车道改为下发时自动保存已选车道
3 2023年08月14日 1.0.2 增加9001-费率下传文件上传功能,优化已选车道改为下发时自动保存已选车道
4 2024年04月26日 1.0.3 增加下发武俊涛Java程序及下载回调
参数下发获取isSendWjtJava是否启用下发武俊涛的Java程序 1-下发,其他值为不下发,
程序是否Dockers部署1-isDocker是dockers部署其他值或者不配置为本机部署
手动下发将所有的DBF文件全部改成SQB文件
5 2024年05月30日 1.0.4 优化参数表下发收费站问题
6 2024年06月09日 1.0.5 优化参数下发的DBF文件中文乱码问题

Binary file not shown.

After

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,31 @@
<!DOCTYPE html>
<!--<html lang="en" class="dark">-->
<html lang="en" class="light">
<head>
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.0fd88e87.js"></script>
<link rel="stylesheet" href="./assets/index.d94d690a.css">
</head>
<body>
<div id="app">
<div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
<i></i>
<i></i>
<i></i>
<i></i>
</span>
</div>
<div class="loading-title">
正在缓冲...
</div>
</div>
</div>
</div>
</body>
</html>

@ -1,17 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<!--<html lang="en" class="dark">-->
<html lang="en" class="light">
<head>
<meta charset="UTF-8"/>
<link rel="icon" href="./public/favicon.ico"/>
<link rel="stylesheet" href="./src/util/css/loading.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title></title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js">
</script>
<div id="app">
<div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
<i></i>
<i></i>
<i></i>
<i></i>
</span>
</div>
<div class="loading-title">
正在缓冲...
</div>
</div>
</div>
</div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

@ -1,6 +1,6 @@
{
"hash": "7a0e2aae",
"browserHash": "ec683dd5",
"browserHash": "2285fce2",
"optimized": {
"@element-plus/icons-vue": {
"src": "../../@element-plus/icons-vue/dist/index.js",
@ -272,18 +272,18 @@
"fileHash": "ac16b78c",
"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": "4b70b9ba",
"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": "5ac034ba",
"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": "4b70b9ba",
"needsInterop": false
},
"element-plus/es/components/radio-group/style/css": {
"src": "../../element-plus/es/components/radio-group/style/css.mjs",
"file": "element-plus_es_components_radio-group_style_css.js",

@ -272,8 +272,13 @@ export default {
},
selectForm: {},
resultData: {},
inputFormParams: {},
inputFormVersion: {},
inputFormParams: {
isSend: '0',
jgFlag: '1'
},
inputFormVersion: {
jgFlag: '1'
},
rules: {
paraId: [{required: true, message: '请选择参数', trigger: 'blur'}],
sendTime: [{required: true, message: '请输入下发时间', trigger: 'blur'}],
@ -386,17 +391,17 @@ export default {
//
paramsQuery() {
this.dialogFormVisible = true
this.inputFormParams = {
isSend: '0',
jgFlag: '1'
}
// this.inputFormParams = {
// isSend: '0',
// jgFlag: '1'
// }
},
//
versionQuery() {
this.versionFormVisible = true
this.inputFormVersion = {
jgFlag: '1'
}
// this.inputFormVersion = {
// jgFlag: '1'
// }
},
//
queryVersionSubmit() {

@ -5,6 +5,10 @@
</el-header>
<el-main>
<div class="radius" style="height: 90vh;width: 25%;margin-top: 1px;float: left">
<el-col style="background-color: #13afe5">
<span style="color:#ffffff ;text-align:center;width: 100%;height: 15px;font-size: 15px;">
请选择收费站分发地址</span>
</el-col>
<div style="height:90%">
<el-scrollbar>
<el-tree
@ -20,6 +24,7 @@
v-loading="loading"
:default-expanded-keys="expandedKeys"
:check-strictly=checkStrictly
@check-change="handleMenuCheckChange"
/>
</el-scrollbar>
</div>
@ -128,6 +133,15 @@ export default {
};
},
methods: {
handleMenuCheckChange(){
this.checkStrictly = true // true
this.$nextTick(() => {
this.data//
this.$refs.treeRef.setChecked(this.data) //
this.checkStrictly = false // false
})
},
scrollToBottom() {
// this.$nextTick DOM使DOM
this.$nextTick(() => {

Loading…
Cancel
Save