From 6b3732b8c43165342b7521b1e3ea788e471d58e8 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 19 六月 2023 20:19:31 +0800 Subject: [PATCH] Merge branch '2.6.8' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/common/CivilCodePo.java | 42 src/main/java/com/genersoft/iot/vmp/conf/CivilCodeFileConf.java | 101 + web_src/src/components/dialog/catalogEdit.vue | 44 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java | 4 web_src/src/components/dialog/chooseChannelForCatalog.vue | 9 src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | 2 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 152 + web_src/src/components/dialog/deviceEdit.vue | 6 src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java | 30 src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java | 1 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 166 - web_src/src/components/dialog/platformEdit.vue | 18 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java | 11 src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 541 ++++-- src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java | 85 src/main/resources/civilCode.csv | 3220 ++++++++++++++++++++++++++++++++++++++++ web_src/src/components/ParentPlatformList.vue | 2 src/main/resources/all-application.yml | 4 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java | 7 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java | 2 /dev/null | 10 web_src/src/components/dialog/chooseChannel.vue | 6 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 8 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java | 186 + src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java | 13 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java | 6 src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 43 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 10 28 files changed, 4,126 insertions(+), 603 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/common/CivilCodePo.java b/src/main/java/com/genersoft/iot/vmp/common/CivilCodePo.java new file mode 100644 index 0000000..452c12e --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/CivilCodePo.java @@ -0,0 +1,42 @@ +package com.genersoft.iot.vmp.common; + +public class CivilCodePo { + + private String code; + + private String name; + + private String parentCode; + + public static CivilCodePo getInstance(String[] infoArray) { + CivilCodePo civilCodePo = new CivilCodePo(); + civilCodePo.setCode(infoArray[0]); + civilCodePo.setName(infoArray[1]); + civilCodePo.setParentCode(infoArray[2]); + return civilCodePo; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getParentCode() { + return parentCode; + } + + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/CivilCodeFileConf.java b/src/main/java/com/genersoft/iot/vmp/conf/CivilCodeFileConf.java new file mode 100644 index 0000000..39e0a70 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/conf/CivilCodeFileConf.java @@ -0,0 +1,101 @@ +package com.genersoft.iot.vmp.conf; + +import com.genersoft.iot.vmp.common.CivilCodePo; +import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; +import org.springframework.core.annotation.Order; +import org.springframework.core.io.ClassPathResource; +import org.springframework.util.ObjectUtils; + +import java.io.*; +import java.nio.file.Files; +import java.util.Map; + +/** + * 鍚姩鏃惰鍙栬鏀垮尯鍒掕〃 + */ +@Configuration +@Order(value=14) +public class CivilCodeFileConf implements CommandLineRunner { + + private final static Logger logger = LoggerFactory.getLogger(CivilCodeFileConf.class); + + private final Map<String, CivilCodePo> civilCodeMap= new ConcurrentHashMap<>(); + + @Autowired + @Lazy + private UserSetting userSetting; + + @Override + public void run(String... args) throws Exception { + if (ObjectUtils.isEmpty(userSetting.getCivilCodeFile())) { + logger.warn("[琛屾斂鍖哄垝] 鏂囦欢鏈缃紝鍙兘閫犳垚鐩綍鍒锋柊缁撴灉涓嶅畬鏁�"); + return; + } + InputStream inputStream; + if (userSetting.getCivilCodeFile().startsWith("classpath:")){ + String filePath = userSetting.getCivilCodeFile().substring("classpath:".length()); + ClassPathResource civilCodeFile = new ClassPathResource(filePath); + if (!civilCodeFile.exists()) { + logger.warn("[琛屾斂鍖哄垝] 鏂囦欢<{}>涓嶅瓨鍦紝鍙兘閫犳垚鐩綍鍒锋柊缁撴灉涓嶅畬鏁�", userSetting.getCivilCodeFile()); + return; + } + inputStream = civilCodeFile.getInputStream(); + + }else { + File civilCodeFile = new File(userSetting.getCivilCodeFile()); + if (!civilCodeFile.exists()) { + logger.warn("[琛屾斂鍖哄垝] 鏂囦欢<{}>涓嶅瓨鍦紝鍙兘閫犳垚鐩綍鍒锋柊缁撴灉涓嶅畬鏁�", userSetting.getCivilCodeFile()); + return; + } + inputStream = Files.newInputStream(civilCodeFile.toPath()); + } + + BufferedReader inputStreamReader = new BufferedReader(new InputStreamReader(inputStream)); + int index = -1; + String line; + while ((line = inputStreamReader.readLine()) != null) { + index ++; + if (index == 0) { + continue; + } + String[] infoArray = line.split(","); + CivilCodePo civilCodePo = CivilCodePo.getInstance(infoArray); + civilCodeMap.put(civilCodePo.getCode(), civilCodePo); + } + inputStreamReader.close(); + inputStream.close(); + if (civilCodeMap.size() == 0) { + logger.warn("[琛屾斂鍖哄垝] 鏂囦欢鍐呭涓虹┖锛屽彲鑳介�犳垚鐩綍鍒锋柊缁撴灉涓嶅畬鏁�"); + }else { + logger.info("[琛屾斂鍖哄垝] 鍔犺浇鎴愬姛锛屽叡鍔犺浇鏁版嵁{}鏉�", civilCodeMap.size()); + } + } + + public CivilCodePo getParentCode(String code) { + if (code.length() > 8) { + return null; + } + if (code.length() == 8) { + String parentCode = code.substring(0, 6); + return civilCodeMap.get(parentCode); + }else { + CivilCodePo civilCodePo = civilCodeMap.get(code); + if (civilCodePo == null){ + return null; + } + String parentCode = civilCodePo.getParentCode(); + if (parentCode == null) { + return null; + } + return civilCodeMap.get(parentCode); + } + + } + +} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java index 041d738..95a2499 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java @@ -45,6 +45,7 @@ * @return */ public void startCron(String key, Runnable task, int cycleForCatalog) { + System.out.println(cycleForCatalog); ScheduledFuture<?> future = futureMap.get(key); if (future != null) { if (future.isCancelled()) { diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index 55363ef..eb1b157 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -56,7 +56,7 @@ } // 璁剧疆鎵�鏈夊钩鍙扮绾� - platformService.offline(parentPlatform, true); + platformService.offline(parentPlatform, false); } } } diff --git a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java index 0b35a9d..515f3e7 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java @@ -62,11 +62,17 @@ private String thirdPartyGBIdReg = "[\\s\\S]*"; + private String civilCodeFile = "classpath:civilCode.csv"; + private List<String> interfaceAuthenticationExcludes = new ArrayList<>(); private List<String> allowedOrigins = new ArrayList<>(); private int maxNotifyCountQueue = 10000; + + private int registerAgainAfterTime = 60; + + private boolean registerKeepIntDialog = false; public Boolean getSavePositionHistory() { return savePositionHistory; @@ -295,4 +301,28 @@ public void setSqlLog(Boolean sqlLog) { this.sqlLog = sqlLog; } + + public String getCivilCodeFile() { + return civilCodeFile; + } + + public void setCivilCodeFile(String civilCodeFile) { + this.civilCodeFile = civilCodeFile; + } + + public int getRegisterAgainAfterTime() { + return registerAgainAfterTime; + } + + public void setRegisterAgainAfterTime(int registerAgainAfterTime) { + this.registerAgainAfterTime = registerAgainAfterTime; + } + + public boolean isRegisterKeepIntDialog() { + return registerKeepIntDialog; + } + + public void setRegisterKeepIntDialog(boolean registerKeepIntDialog) { + this.registerKeepIntDialog = registerKeepIntDialog; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/TreeType.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/TreeType.java deleted file mode 100644 index bb684e1..0000000 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/TreeType.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.genersoft.iot.vmp.gb28181.bean; - -/** - * 鐩綍缁撴瀯绫诲瀷 - * @author lin - */ -public class TreeType { - public static final String BUSINESS_GROUP = "BusinessGroup"; - public static final String CIVIL_CODE = "CivilCode"; -} diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java index b1e2196..d39a01c 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java @@ -209,59 +209,149 @@ // 琛屾斂鍖哄垝鍒嗙粍鍙渶瑕佽繖涓ら」灏卞彲浠� catalogXml.append("<DeviceID>" + channel.getChannelId() + "</DeviceID>\r\n"); catalogXml.append("<Name>" + channel.getName() + "</Name>\r\n"); - if (channel.getParentId() != null) { - // 涓氬姟鍒嗙粍鍔犱笂杩欎竴椤瑰嵆鍙紝鎻愰珮鍏煎鎬э紝 - catalogXml.append("<ParentID>" + channel.getParentId() + "</ParentID>\r\n"); -// catalogXml.append("<ParentID>" + parentPlatform.getDeviceGBId() + "/" + channel.getParentId() + "</ParentID>\r\n"); - } - if (channel.getChannelId().length() == 20 && Integer.parseInt(channel.getChannelId().substring(10, 13)) == 216) { - // 铏氭嫙缁勭粐澧炲姞BusinessGroupID瀛楁 - catalogXml.append("<BusinessGroupID>" + channel.getParentId() + "</BusinessGroupID>\r\n"); - } - if (!channel.getChannelId().equals(parentPlatform.getDeviceGBId())) { - catalogXml.append("<Parental>" + channel.getParental() + "</Parental>\r\n"); - if (channel.getParental() == 0) { - catalogXml.append("<Status>" + (channel.isStatus() ? "ON" : "OFF") + "</Status>\r\n"); + if (channel.getChannelId().length() <= 8) { + catalogXml.append("</Item>\r\n"); + continue; + }else { + if (channel.getChannelId().length() != 20) { + continue; } - } - if (channel.getParental() == 0) { - // 閫氶亾椤� - catalogXml.append("<Manufacturer>" + channel.getManufacture() + "</Manufacturer>\r\n"); - catalogXml.append("<Secrecy>" + channel.getSecrecy() + "</Secrecy>\r\n"); - catalogXml.append("<RegisterWay>" + channel.getRegisterWay() + "</RegisterWay>\r\n"); - String civilCode = channel.getCivilCode() == null?parentPlatform.getAdministrativeDivision() : channel.getCivilCode(); - if (channel.getChannelType() != 2) { // 涓氬姟鍒嗙粍/铏氭嫙缁勭粐/琛屾斂鍖哄垝 涓嶈缃互涓嬪睘鎬� - catalogXml.append("<Model>" + channel.getModel() + "</Model>\r\n"); - catalogXml.append("<Owner>" + parentPlatform.getDeviceGBId()+ "</Owner>\r\n"); - catalogXml.append("<CivilCode>" + civilCode + "</CivilCode>\r\n"); - if (channel.getAddress() == null) { - catalogXml.append("<Address></Address>\r\n"); - }else { - catalogXml.append("<Address>" + channel.getAddress() + "</Address>\r\n"); - } - catalogXml.append("<Block>" + channel.getBlock() + "</Block>\r\n"); - catalogXml.append("<SafetyWay>" + channel.getSafetyWay() + "</SafetyWay>\r\n"); - catalogXml.append("<CertNum>" + channel.getCertNum() + "</CertNum>\r\n"); - catalogXml.append("<Certifiable>" + channel.getCertifiable() + "</Certifiable>\r\n"); - catalogXml.append("<ErrCode>" + channel.getErrCode() + "</ErrCode>\r\n"); - catalogXml.append("<EndTime>" + channel.getEndTime() + "</EndTime>\r\n"); - catalogXml.append("<Secrecy>" + channel.getSecrecy() + "</Secrecy>\r\n"); - catalogXml.append("<IPAddress>" + channel.getIpAddress() + "</IPAddress>\r\n"); - catalogXml.append("<Port>" + channel.getPort() + "</Port>\r\n"); - catalogXml.append("<Password>" + channel.getPort() + "</Password>\r\n"); - catalogXml.append("<PTZType>" + channel.getPTZType() + "</PTZType>\r\n"); - catalogXml.append("<Status>" + (channel.isStatus() ? "ON":"OFF") + "</Status>\r\n"); - catalogXml.append("<Longitude>" + - (channel.getLongitudeWgs84() != 0? channel.getLongitudeWgs84():channel.getLongitude()) - + "</Longitude>\r\n"); - catalogXml.append("<Latitude>" + - (channel.getLatitudeWgs84() != 0? channel.getLatitudeWgs84():channel.getLatitude()) - + "</Latitude>\r\n"); + switch (Integer.parseInt(channel.getChannelId().substring(10, 13))){ + case 200: +// catalogXml.append("<Manufacturer>涓夋案鍗庨��</Manufacturer>\r\n"); +// GitUtil gitUtil = SpringBeanFactory.getBean("gitUtil"); +// String model = (gitUtil == null || gitUtil.getBuildVersion() == null)?"1.0": gitUtil.getBuildVersion(); +// catalogXml.append("<Model>" + model + "</Manufacturer>\r\n"); +// catalogXml.append("<Owner>涓夋案鍗庨��</Owner>\r\n"); + if (channel.getCivilCode() != null) { + catalogXml.append("<CivilCode>"+channel.getCivilCode()+"</CivilCode>\r\n"); + }else { + catalogXml.append("<CivilCode></CivilCode>\r\n"); + } + catalogXml.append("<RegisterWay>1</RegisterWay>\r\n"); + catalogXml.append("<Secrecy>0</Secrecy>\r\n"); + break; + case 215: + if (!ObjectUtils.isEmpty(channel.getParentId())) { + catalogXml.append("<ParentID>" + channel.getParentId() + "</ParentID>\r\n"); + } + + break; + case 216: + if (!ObjectUtils.isEmpty(channel.getParentId())) { + catalogXml.append("<ParentID>" + channel.getParentId() + "</ParentID>\r\n"); + }else { + catalogXml.append("<ParentID></ParentID>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getBusinessGroupId())) { + catalogXml.append("<BusinessGroupID>" + channel.getBusinessGroupId() + "</BusinessGroupID>\r\n"); + }else { + catalogXml.append("<BusinessGroupID></BusinessGroupID>\r\n"); + } + break; + default: + // 閫氶亾椤� + if (channel.getManufacture() != null) { + catalogXml.append("<Manufacturer>" + channel.getManufacture() + "</Manufacturer>\r\n"); + }else { + catalogXml.append("<Manufacturer></Manufacturer>\r\n"); + } + if (channel.getSecrecy() != null) { + catalogXml.append("<Secrecy>" + channel.getSecrecy() + "</Secrecy>\r\n"); + }else { + catalogXml.append("<Secrecy></Secrecy>\r\n"); + } + catalogXml.append("<RegisterWay>" + channel.getRegisterWay() + "</RegisterWay>\r\n"); + if (channel.getModel() != null) { + catalogXml.append("<Model>" + channel.getModel() + "</Model>\r\n"); + }else { + catalogXml.append("<Model></Model>\r\n"); + } + if (channel.getOwner() != null) { + catalogXml.append("<Owner>" + channel.getOwner()+ "</Owner>\r\n"); + }else { + catalogXml.append("<Owner></Owner>\r\n"); + } + if (channel.getCivilCode() != null) { + catalogXml.append("<CivilCode>" + channel.getCivilCode() + "</CivilCode>\r\n"); + }else { + catalogXml.append("<CivilCode></CivilCode>\r\n"); + } + if (channel.getAddress() == null) { + catalogXml.append("<Address></Address>\r\n"); + }else { + catalogXml.append("<Address>" + channel.getAddress() + "</Address>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getParentId())) { + catalogXml.append("<ParentID>" + channel.getParentId() + "</ParentID>\r\n"); + }else { + catalogXml.append("<ParentID></ParentID>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getBlock())) { + catalogXml.append("<Block>" + channel.getBlock() + "</Block>\r\n"); + }else { + catalogXml.append("<Block></Block>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getSafetyWay())) { + catalogXml.append("<SafetyWay>" + channel.getSafetyWay() + "</SafetyWay>\r\n"); + }else { + catalogXml.append("<SafetyWay></SafetyWay>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getCertNum())) { + catalogXml.append("<CertNum>" + channel.getCertNum() + "</CertNum>\r\n"); + }else { + catalogXml.append("<CertNum></CertNum>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getCertifiable())) { + catalogXml.append("<Certifiable>" + channel.getCertifiable() + "</Certifiable>\r\n"); + }else { + catalogXml.append("<Certifiable></Certifiable>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getErrCode())) { + catalogXml.append("<ErrCode>" + channel.getErrCode() + "</ErrCode>\r\n"); + }else { + catalogXml.append("<ErrCode></ErrCode>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getEndTime())) { + catalogXml.append("<EndTime>" + channel.getEndTime() + "</EndTime>\r\n"); + }else { + catalogXml.append("<EndTime></EndTime>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getSecrecy())) { + catalogXml.append("<Secrecy>" + channel.getSecrecy() + "</Secrecy>\r\n"); + }else { + catalogXml.append("<Secrecy></Secrecy>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getIpAddress())) { + catalogXml.append("<IPAddress>" + channel.getIpAddress() + "</IPAddress>\r\n"); + }else { + catalogXml.append("<IPAddress></IPAddress>\r\n"); + } + catalogXml.append("<Port>" + channel.getPort() + "</Port>\r\n"); + if (!ObjectUtils.isEmpty(channel.getPassword())) { + catalogXml.append("<Password>" + channel.getPassword() + "</Password>\r\n"); + }else { + catalogXml.append("<Password></Password>\r\n"); + } + if (!ObjectUtils.isEmpty(channel.getPTZType())) { + catalogXml.append("<PTZType>" + channel.getPTZType() + "</PTZType>\r\n"); + }else { + catalogXml.append("<PTZType></PTZType>\r\n"); + } + catalogXml.append("<Status>" + (channel.getStatus() == 1?"ON":"OFF") + "</Status>\r\n"); + + catalogXml.append("<Longitude>" + + (channel.getLongitudeWgs84() != 0? channel.getLongitudeWgs84():channel.getLongitude()) + + "</Longitude>\r\n"); + catalogXml.append("<Latitude>" + + (channel.getLatitudeWgs84() != 0? channel.getLatitudeWgs84():channel.getLatitude()) + + "</Latitude>\r\n"); + break; } + catalogXml.append("</Item>\r\n"); } - catalogXml.append("</Item>\r\n"); } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java index e21dfd6..635c3ca 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java @@ -188,6 +188,8 @@ logger.error("[鍛戒护鍙戦�佸け璐 invite GONE: {}", e.getMessage()); } return; + }else { + // TODO 鍙兘婕忓洖澶嶆秷鎭� } } } else { diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java index c0b1be4..e2aee4a 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl; +import com.genersoft.iot.vmp.conf.CivilCodeFileConf; import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.Device; @@ -20,7 +21,10 @@ import javax.sip.RequestEvent; import javax.sip.header.FromHeader; -import java.util.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; @@ -55,6 +59,9 @@ @Autowired private DynamicTask dynamicTask; + + @Autowired + private CivilCodeFileConf civilCodeFileConf; private final static String talkKey = "notify-request-for-catalog-task"; @@ -96,7 +103,7 @@ }else { event = eventElement.getText().toUpperCase(); } - DeviceChannel channel = XmlUtil.channelContentHander(itemDevice, device, event); + DeviceChannel channel = XmlUtil.channelContentHandler(itemDevice, device, event, civilCodeFileConf); channel.setDeviceId(device.getDeviceId()); logger.info("[鏀跺埌鐩綍璁㈤槄]锛歿}/{}", device.getDeviceId(), channel.getChannelId()); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java index e97b720..bc34bbd 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java @@ -1,6 +1,7 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl; import com.alibaba.fastjson2.JSONObject; +import com.genersoft.iot.vmp.conf.CivilCodeFileConf; import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.*; @@ -78,6 +79,9 @@ @Autowired private NotifyRequestForCatalogProcessor notifyRequestForCatalogProcessor; + + @Autowired + private CivilCodeFileConf civilCodeFileConf; private ConcurrentLinkedQueue<HandlerCatchData> taskQueue = new ConcurrentLinkedQueue<>(); @@ -408,7 +412,7 @@ }else { event = eventElement.getText().toUpperCase(); } - DeviceChannel channel = XmlUtil.channelContentHander(itemDevice, device, event); + DeviceChannel channel = XmlUtil.channelContentHandler(itemDevice, device, event, civilCodeFileConf); channel.setDeviceId(device.getDeviceId()); logger.info("[鏀跺埌鐩綍璁㈤槄]锛歿}/{}", device.getDeviceId(), channel.getChannelId()); switch (event) { diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java index eb8555a..2d8af9b 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd; +import com.genersoft.iot.vmp.conf.CivilCodeFileConf; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.session.CatalogDataCatch; import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent; @@ -53,6 +54,9 @@ @Autowired private ThreadPoolTaskExecutor taskExecutor; + @Autowired + private CivilCodeFileConf civilCodeFileConf; + @Override public void afterPropertiesSet() throws Exception { responseMessageHandler.addHandler(cmdType, this); @@ -100,6 +104,7 @@ Iterator<Element> deviceListIterator = deviceListElement.elementIterator(); if (deviceListIterator != null) { List<DeviceChannel> channelList = new ArrayList<>(); + List<String> parentChannelIds = new ArrayList<>(); // 閬嶅巻DeviceList while (deviceListIterator.hasNext()) { Element itemDevice = deviceListIterator.next(); @@ -107,7 +112,7 @@ if (channelDeviceElement == null) { continue; } - DeviceChannel deviceChannel = XmlUtil.channelContentHander(itemDevice, device, null); + DeviceChannel deviceChannel = XmlUtil.channelContentHandler(itemDevice, device, null, civilCodeFileConf); deviceChannel = SipUtils.updateGps(deviceChannel, device.getGeoCoordSys()); deviceChannel.setDeviceId(take.getDevice().getDeviceId()); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java index 750cd8b..2117c1d 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java @@ -2,6 +2,8 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; +import com.genersoft.iot.vmp.common.CivilCodePo; +import com.genersoft.iot.vmp.conf.CivilCodeFileConf; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent; @@ -192,7 +194,7 @@ CivilCode, BusinessGroup,VirtualOrganization,Other } - public static DeviceChannel channelContentHander(Element itemDevice, Device device, String event){ + public static DeviceChannel channelContentHandler(Element itemDevice, Device device, String event, CivilCodeFileConf civilCodeFileConf){ DeviceChannel deviceChannel = new DeviceChannel(); deviceChannel.setDeviceId(device.getDeviceId()); Element channdelIdElement = itemDevice.element("DeviceID"); @@ -210,208 +212,353 @@ // 闄や簡ADD鍜寀pdate鎯呭喌涓嬮渶瑕佽瘑鍒叏閮ㄥ唴瀹癸紝 return deviceChannel; } - - ChannelType channelType = ChannelType.Other; - if (channelId.length() <= 8) { - channelType = ChannelType.CivilCode; + Element nameElement = itemDevice.element("Name"); + if (nameElement != null) { + deviceChannel.setName(nameElement.getText()); + } + if(channelId.length() <= 8) { deviceChannel.setHasAudio(false); - }else { - if (channelId.length() == 20) { - int code = Integer.parseInt(channelId.substring(10, 13)); - switch (code){ - case 215: - channelType = ChannelType.BusinessGroup; - deviceChannel.setHasAudio(false); - break; - case 216: - channelType = ChannelType.VirtualOrganization; - deviceChannel.setHasAudio(false); - break; - case 136: - case 137: - case 138: - deviceChannel.setHasAudio(true); - break; - default: - deviceChannel.setHasAudio(false); - break; - - } - } - } - - Element channdelNameElement = itemDevice.element("Name"); - String channelName = channdelNameElement != null ? channdelNameElement.getTextTrim() : ""; - deviceChannel.setName(channelName); - - String civilCode = XmlUtil.getText(itemDevice, "CivilCode"); - deviceChannel.setCivilCode(civilCode); - if (channelType == ChannelType.CivilCode && civilCode == null) { - deviceChannel.setParental(1); - // 琛屾斂鍖哄垝濡傛灉娌℃湁浼犻�掑叿浣撳�硷紝鍒欐帹娴嬩竴涓� - if (channelId.length() > 2) { - deviceChannel.setCivilCode(channelId.substring(0, channelId.length() - 2)); - } - } - if (channelType.equals(ChannelType.CivilCode)) { - // 琛屾斂鍖哄垝鍏朵粬瀛楁娌″繀瑕佽瘑鍒簡锛岄粯璁ゅ湪绾垮嵆鍙� - deviceChannel.setStatus(true); - deviceChannel.setParental(1); - deviceChannel.setCreateTime(DateUtil.getNow()); - deviceChannel.setUpdateTime(DateUtil.getNow()); - return deviceChannel; - } - /** - * 琛屾斂鍖哄垝灞曠ず璁惧鏍戜笌涓氬姟鍒嗙粍灞曠ず璁惧鏍戞槸涓ょ涓嶅悓鐨勬ā寮� - * 琛屾斂鍖哄垝灞曠ず璁惧鏍� 鍚勪釜鐩綍涔嬮棿涓昏闈燿eviceId鍋氬叧鑱�,鎽勫儚澶撮�氳繃CivilCode鎸囧畾鍏跺睘浜庨偅涓鏀垮尯鍒�;閮芥槸涓嶈秴杩囧崄浣嶇殑缂栧彿; 缁撴瀯濡備笅: - * 娌冲寳鐪� - * --> 鐭冲搴勫競 - * --> 鎽勫儚澶� - *String parentId = XmlUtil.getText(itemDevice, "ParentID"); - if (parentId != null) { - if (parentId.contains("/")) { - String lastParentId = parentId.substring(parentId.lastIndexOf("/") + 1); - String businessGroup = parentId.substring(0, parentId.indexOf("/")); - deviceChannel.setParentId(lastParentId); - }else { - deviceChannel.setParentId(parentId); - } - } - deviceCh --> 姝e畾鍘� - * --> 鎽勫儚澶� - * --> 鎽勫儚澶� - * - * 涓氬姟鍒嗙粍灞曠ず璁惧鏍戞槸椤剁骇鏄笟鍔″垎缁�,鍏朵笅鐨勮櫄鎷熺粍缁囬潬BusinessGroupID鎸囧畾鍏舵墍灞炵殑涓氬姟鍒嗙粍;鎽勫儚澶撮�氳繃ParentId鏉ユ寚瀹氬叾鎵�灞炰簬鐨勮櫄鎷熺粍缁�: - * 涓氬姟鍒嗙粍 - * --> 铏氭嫙缁勭粐 - * --> 鎽勫儚澶� - * --> 铏氭嫙缁勭粐 - * --> 鎽勫儚澶� - * --> 鎽勫儚澶� - */ - String parentId = XmlUtil.getText(itemDevice, "ParentID"); - String businessGroupID = XmlUtil.getText(itemDevice, "BusinessGroupID"); - if (parentId != null) { - if (parentId.contains("/")) { - String lastParentId = parentId.substring(parentId.lastIndexOf("/") + 1); - if (businessGroupID == null) { - businessGroupID = parentId.substring(0, parentId.indexOf("/")); - } - deviceChannel.setParentId(lastParentId); + CivilCodePo parentCode = civilCodeFileConf.getParentCode(channelId); + if (parentCode != null) { + deviceChannel.setParentId(parentCode.getCode()); + deviceChannel.setCivilCode(parentCode.getCode()); }else { - deviceChannel.setParentId(parentId); + logger.warn("[xml瑙f瀽] 鏃犳硶纭畾琛屾斂鍖哄垝{}鐨勪笂绾ц鏀垮尯鍒�", channelId); } - // 鍏煎璁惧閫氶亾淇℃伅涓嚜宸变负鑷繁鐖惰妭鐐圭殑鎯呭喌 - if (deviceChannel.getParentId().equals(deviceChannel.getChannelId())) { - deviceChannel.setParentId(null); - } - } - deviceChannel.setBusinessGroupId(businessGroupID); - if (channelType.equals(ChannelType.BusinessGroup) || channelType.equals(ChannelType.VirtualOrganization)) { - // 涓氬姟鍒嗙粍鍜岃櫄鎷熺粍缁� 鍏朵粬瀛楁娌″繀瑕佽瘑鍒簡锛岄粯璁ゅ湪绾垮嵆鍙� - deviceChannel.setStatus(true); - deviceChannel.setParental(1); - deviceChannel.setCreateTime(DateUtil.getNow()); - deviceChannel.setUpdateTime(DateUtil.getNow()); + deviceChannel.setStatus(1); return deviceChannel; - } - - Element statusElement = itemDevice.element("Status"); - - if (statusElement != null) { - String status = statusElement.getTextTrim().trim(); - // ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR鐨勫吋瀹规�у鐞� - if (status.equals("ON") || status.equals("On") || status.equals("ONLINE") || status.equals("OK")) { - deviceChannel.setStatus(true); - } - if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) { - deviceChannel.setStatus(false); - } }else { - deviceChannel.setStatus(true); - } - // 璇嗗埆鑷甫鐨勭洰褰曟爣璇� - String parental = XmlUtil.getText(itemDevice, "Parental"); - // 鐢变簬娴峰悍浼氶敊璇殑鍙戦��65535浣滀负杩欓噷鐨勫彇鍊�,鎵�浠ヨ繖閲岄櫎闈炴槸0鍚﹀垯璁や负鏄�1 - if (!ObjectUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) { - deviceChannel.setParental(0); - }else { - deviceChannel.setParental(1); - } - - - deviceChannel.setManufacture(XmlUtil.getText(itemDevice, "Manufacturer")); - deviceChannel.setModel(XmlUtil.getText(itemDevice, "Model")); - deviceChannel.setOwner(XmlUtil.getText(itemDevice, "Owner")); - deviceChannel.setCertNum(XmlUtil.getText(itemDevice, "CertNum")); - deviceChannel.setBlock(XmlUtil.getText(itemDevice, "Block")); - deviceChannel.setAddress(XmlUtil.getText(itemDevice, "Address")); - deviceChannel.setPassword(XmlUtil.getText(itemDevice, "Password")); - - String safetyWay = XmlUtil.getText(itemDevice, "SafetyWay"); - if (ObjectUtils.isEmpty(safetyWay)) { - deviceChannel.setSafetyWay(0); - } else { - deviceChannel.setSafetyWay(Integer.parseInt(safetyWay)); - } - - String registerWay = XmlUtil.getText(itemDevice, "RegisterWay"); - if (ObjectUtils.isEmpty(registerWay)) { - deviceChannel.setRegisterWay(1); - } else { - deviceChannel.setRegisterWay(Integer.parseInt(registerWay)); - } - - if (XmlUtil.getText(itemDevice, "Certifiable") == null - || XmlUtil.getText(itemDevice, "Certifiable") == "") { - deviceChannel.setCertifiable(0); - } else { - deviceChannel.setCertifiable(Integer.parseInt(XmlUtil.getText(itemDevice, "Certifiable"))); - } - - if (XmlUtil.getText(itemDevice, "ErrCode") == null - || XmlUtil.getText(itemDevice, "ErrCode") == "") { - deviceChannel.setErrCode(0); - } else { - deviceChannel.setErrCode(Integer.parseInt(XmlUtil.getText(itemDevice, "ErrCode"))); - } - - deviceChannel.setEndTime(XmlUtil.getText(itemDevice, "EndTime")); - deviceChannel.setSecrecy(XmlUtil.getText(itemDevice, "Secrecy")); - deviceChannel.setIpAddress(XmlUtil.getText(itemDevice, "IPAddress")); - if (XmlUtil.getText(itemDevice, "Port") == null || XmlUtil.getText(itemDevice, "Port") == "") { - deviceChannel.setPort(0); - } else { - deviceChannel.setPort(Integer.parseInt(XmlUtil.getText(itemDevice, "Port"))); - } - - - String longitude = XmlUtil.getText(itemDevice, "Longitude"); - if (NumericUtil.isDouble(longitude)) { - deviceChannel.setLongitude(Double.parseDouble(longitude)); - } else { - deviceChannel.setLongitude(0.00); - } - String latitude = XmlUtil.getText(itemDevice, "Latitude"); - if (NumericUtil.isDouble(latitude)) { - deviceChannel.setLatitude(Double.parseDouble(latitude)); - } else { - deviceChannel.setLatitude(0.00); - } - - deviceChannel.setGpsTime(DateUtil.getNow()); - - - if (XmlUtil.getText(itemDevice, "PTZType") == null || "".equals(XmlUtil.getText(itemDevice, "PTZType"))) { - //鍏煎INFO涓殑淇℃伅 - Element info = itemDevice.element("Info"); - if(XmlUtil.getText(info, "PTZType") == null || "".equals(XmlUtil.getText(info, "PTZType"))){ - deviceChannel.setPTZType(0); - }else{ - deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(info, "PTZType"))); + if(channelId.length() != 20) { + logger.warn("[xml瑙f瀽] 澶辫触锛岀紪鍙蜂笉绗﹀悎鍥芥爣28181瀹氫箟锛� {}", channelId); + return null; } - } else { - deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType"))); + + int code = Integer.parseInt(channelId.substring(10, 13)); + if (code == 136 || code == 137 || code == 138) { + deviceChannel.setHasAudio(true); + }else { + deviceChannel.setHasAudio(false); + } + // 璁惧鍘傚晢 + String manufacturer = getText(itemDevice, "Manufacturer"); + // 璁惧鍨嬪彿 + String model = getText(itemDevice, "Model"); + // 璁惧褰掑睘 + String owner = getText(itemDevice, "Owner"); + // 琛屾斂鍖哄煙 + String civilCode = getText(itemDevice, "CivilCode"); + // 铏氭嫙缁勭粐鎵�灞炵殑涓氬姟鍒嗙粍ID,涓氬姟鍒嗙粍鏍规嵁鐗瑰畾鐨勪笟鍔¢渶姹傚埗瀹�,涓�涓笟鍔″垎缁勫寘鍚竴缁勭壒瀹氱殑铏氭嫙缁勭粐 + String businessGroupID = getText(itemDevice, "BusinessGroupID"); + // 鐖惰澶�/鍖哄煙/绯荤粺ID + String parentID = getText(itemDevice, "ParentID"); + if (parentID != null && parentID.equalsIgnoreCase("null")) { + parentID = null; + } + // 娉ㄥ唽鏂瑰紡(蹇呴��)缂虹渷涓�1;1:绗﹀悎IETFRFC3261鏍囧噯鐨勮璇佹敞鍐屾ā寮�;2:鍩轰簬鍙d护鐨勫弻鍚戣璇佹敞鍐屾ā寮�;3:鍩轰簬鏁板瓧璇佷功鐨勫弻鍚戣璇佹敞鍐屾ā寮� + String registerWay = getText(itemDevice, "RegisterWay"); + // 淇濆瘑灞炴��(蹇呴��)缂虹渷涓�0;0:涓嶆秹瀵�,1:娑夊瘑 + String secrecy = getText(itemDevice, "Secrecy"); + // 瀹夎鍦板潃 + String address = getText(itemDevice, "Address"); + + switch (code){ + case 200: + // 绯荤粺鐩綍 + if (!ObjectUtils.isEmpty(manufacturer)) { + deviceChannel.setManufacture(manufacturer); + } + if (!ObjectUtils.isEmpty(model)) { + deviceChannel.setModel(model); + } + if (!ObjectUtils.isEmpty(owner)) { + deviceChannel.setOwner(owner); + } + if (!ObjectUtils.isEmpty(civilCode)) { + deviceChannel.setCivilCode(civilCode); + deviceChannel.setParentId(civilCode); + }else { + if (!ObjectUtils.isEmpty(parentID)) { + deviceChannel.setParentId(parentID); + } + } + if (!ObjectUtils.isEmpty(address)) { + deviceChannel.setAddress(address); + } + deviceChannel.setStatus(1); + if (!ObjectUtils.isEmpty(registerWay)) { + try { + deviceChannel.setRegisterWay(Integer.parseInt(registerWay)); + }catch (NumberFormatException exception) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇registerWay澶辫触锛� {}", registerWay); + } + } + if (!ObjectUtils.isEmpty(secrecy)) { + deviceChannel.setSecrecy(secrecy); + } + return deviceChannel; + case 215: + // 涓氬姟鍒嗙粍 + deviceChannel.setStatus(1); + if (!ObjectUtils.isEmpty(parentID)) { + if (!parentID.trim().equalsIgnoreCase(device.getDeviceId())) { + deviceChannel.setParentId(parentID); + } + }else { + logger.warn("[xml瑙f瀽] 涓氬姟鍒嗙粍鏁版嵁涓己灏戝叧閿俊鎭�->ParentId"); + if (!ObjectUtils.isEmpty(civilCode)) { + deviceChannel.setCivilCode(civilCode); + } + } + break; + case 216: + // 铏氭嫙缁勭粐 + deviceChannel.setStatus(1); + if (!ObjectUtils.isEmpty(businessGroupID)) { + deviceChannel.setBusinessGroupId(businessGroupID); + } + + + if (!ObjectUtils.isEmpty(parentID)) { + if (parentID.contains("/")) { + String[] parentIdArray = parentID.split("/"); + parentID = parentIdArray[parentIdArray.length - 1]; + } + deviceChannel.setParentId(parentID); + }else { + if (!ObjectUtils.isEmpty(businessGroupID)) { + deviceChannel.setParentId(businessGroupID); + } + } + break; + default: + // 璁惧鐩綍 + if (!ObjectUtils.isEmpty(manufacturer)) { + deviceChannel.setManufacture(manufacturer); + } + if (!ObjectUtils.isEmpty(model)) { + deviceChannel.setModel(model); + } + if (!ObjectUtils.isEmpty(owner)) { + deviceChannel.setOwner(owner); + } + if (!ObjectUtils.isEmpty(civilCode)) { + deviceChannel.setCivilCode(civilCode); + } + if (!ObjectUtils.isEmpty(businessGroupID)) { + deviceChannel.setBusinessGroupId(businessGroupID); + } + + // 璀﹀尯 + String block = getText(itemDevice, "Block"); + if (!ObjectUtils.isEmpty(block)) { + deviceChannel.setBlock(block); + } + if (!ObjectUtils.isEmpty(address)) { + deviceChannel.setAddress(address); + } + + if (!ObjectUtils.isEmpty(secrecy)) { + deviceChannel.setSecrecy(secrecy); + } + + // 褰撲负璁惧鏃�,鏄惁鏈夊瓙璁惧(蹇呴��)1鏈�,0娌℃湁 + String parental = getText(itemDevice, "Parental"); + if (!ObjectUtils.isEmpty(parental)) { + try { + // 鐢变簬娴峰悍浼氶敊璇殑鍙戦��65535浣滀负杩欓噷鐨勫彇鍊�,鎵�浠ヨ繖閲岄櫎闈炴槸0鍚﹀垯璁や负鏄�1 + if (!ObjectUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) { + deviceChannel.setParental(0); + }else { + deviceChannel.setParental(1); + } + }catch (NumberFormatException e) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇 parental澶辫触锛� {}", parental); + } + } + // 鐖惰澶�/鍖哄煙/绯荤粺ID + String realParentId = parentID; + if (!ObjectUtils.isEmpty(parentID)) { + if (parentID.contains("/")) { + String[] parentIdArray = parentID.split("/"); + realParentId = parentIdArray[parentIdArray.length - 1]; + } + deviceChannel.setParentId(realParentId); + }else { + if (!ObjectUtils.isEmpty(businessGroupID)) { + deviceChannel.setParentId(businessGroupID); + }else { + if (!ObjectUtils.isEmpty(civilCode)) { + deviceChannel.setParentId(civilCode); + } + } + } + // 娉ㄥ唽鏂瑰紡 + if (!ObjectUtils.isEmpty(registerWay)) { + try { + int registerWayInt = Integer.parseInt(registerWay); + deviceChannel.setRegisterWay(registerWayInt); + }catch (NumberFormatException exception) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇registerWay澶辫触锛� {}", registerWay); + deviceChannel.setRegisterWay(1); + } + }else { + deviceChannel.setRegisterWay(1); + } + + // 淇′护瀹夊叏妯″紡(鍙��)缂虹渷涓�0; 0:涓嶉噰鐢�;2:S/MIME 绛惧悕鏂瑰紡;3:S/MIME鍔犲瘑绛惧悕鍚屾椂閲囩敤鏂瑰紡;4:鏁板瓧鎽樿鏂瑰紡 + String safetyWay = getText(itemDevice, "SafetyWay"); + if (!ObjectUtils.isEmpty(safetyWay)) { + try { + deviceChannel.setSafetyWay(Integer.parseInt(safetyWay)); + }catch (NumberFormatException e) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇 safetyWay澶辫触锛� {}", safetyWay); + } + } + + // 璇佷功搴忓垪鍙�(鏈夎瘉涔︾殑璁惧蹇呴��) + String certNum = getText(itemDevice, "CertNum"); + if (!ObjectUtils.isEmpty(certNum)) { + deviceChannel.setCertNum(certNum); + } + + // 璇佷功鏈夋晥鏍囪瘑(鏈夎瘉涔︾殑璁惧蹇呴��)缂虹渷涓�0;璇佷功鏈夋晥鏍囪瘑:0:鏃犳晥 1:鏈夋晥 + String certifiable = getText(itemDevice, "Certifiable"); + if (!ObjectUtils.isEmpty(certifiable)) { + try { + deviceChannel.setCertifiable(Integer.parseInt(certifiable)); + }catch (NumberFormatException e) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇 Certifiable澶辫触锛� {}", certifiable); + } + } + + // 鏃犳晥鍘熷洜鐮�(鏈夎瘉涔︿笖璇佷功鏃犳晥鐨勮澶囧繀閫�) + String errCode = getText(itemDevice, "ErrCode"); + if (!ObjectUtils.isEmpty(errCode)) { + try { + deviceChannel.setErrCode(Integer.parseInt(errCode)); + }catch (NumberFormatException e) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇 ErrCode澶辫触锛� {}", errCode); + } + } + + // 璇佷功缁堟鏈夋晥鏈�(鏈夎瘉涔︾殑璁惧蹇呴��) + String endTime = getText(itemDevice, "EndTime"); + if (!ObjectUtils.isEmpty(endTime)) { + deviceChannel.setEndTime(endTime); + } + + + // 璁惧/鍖哄煙/绯荤粺IP鍦板潃 + String ipAddress = getText(itemDevice, "IPAddress"); + if (!ObjectUtils.isEmpty(ipAddress)) { + deviceChannel.setIpAddress(ipAddress); + } + + // 璁惧/鍖哄煙/绯荤粺绔彛 + String port = getText(itemDevice, "Port"); + if (!ObjectUtils.isEmpty(port)) { + try { + deviceChannel.setPort(Integer.parseInt(port)); + }catch (NumberFormatException e) { + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁鑾峰彇 Port澶辫触锛� {}", port); + } + } + + // 璁惧鍙d护 + String password = getText(itemDevice, "Password"); + if (!ObjectUtils.isEmpty(password)) { + deviceChannel.setPassword(password); + } + + + // 璁惧鐘舵�� + String status = getText(itemDevice, "Status"); + if (status != null) { + // ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR鐨勫吋瀹规�у鐞� + if (status.equals("ON") || status.equals("On") || status.equals("ONLINE") || status.equals("OK")) { + deviceChannel.setStatus(1); + } + if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) { + deviceChannel.setStatus(0); + } + }else { + deviceChannel.setStatus(1); + } + + // 缁忓害 + String longitude = getText(itemDevice, "Longitude"); + if (NumericUtil.isDouble(longitude)) { + deviceChannel.setLongitude(Double.parseDouble(longitude)); + } else { + deviceChannel.setLongitude(0.00); + } + + // 绾害 + String latitude = getText(itemDevice, "Latitude"); + if (NumericUtil.isDouble(latitude)) { + deviceChannel.setLatitude(Double.parseDouble(latitude)); + } else { + deviceChannel.setLatitude(0.00); + } + + deviceChannel.setGpsTime(DateUtil.getNow()); + + // -鎽勫儚鏈虹被鍨嬫墿灞�,鏍囪瘑鎽勫儚鏈虹被鍨�:1-鐞冩満;2-鍗婄悆;3-鍥哄畾鏋満;4-閬ユ帶鏋満銆傚綋鐩綍椤逛负鎽勫儚鏈烘椂鍙�� + String ptzType = getText(itemDevice, "PTZType"); + if (ObjectUtils.isEmpty(ptzType)) { + //鍏煎INFO涓殑淇℃伅 + Element info = itemDevice.element("Info"); + String ptzTypeFromInfo = XmlUtil.getText(info, "PTZType"); + if(!ObjectUtils.isEmpty(ptzTypeFromInfo)){ + try { + deviceChannel.setPTZType(Integer.parseInt(ptzTypeFromInfo)); + }catch (NumberFormatException e){ + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁info涓幏鍙朠TZType澶辫触锛� {}", ptzTypeFromInfo); + } + } + } else { + try { + deviceChannel.setPTZType(Integer.parseInt(ptzType)); + }catch (NumberFormatException e){ + logger.warn("[xml瑙f瀽] 浠庨�氶亾鏁版嵁涓幏鍙朠TZType澶辫触锛� {}", ptzType); + } + } + + // TODO 鎽勫儚鏈轰綅缃被鍨嬫墿灞曘�� + // 1-鐪侀檯妫�鏌ョ珯銆� + // 2-鍏氭斂鏈哄叧銆� + // 3-杞︾珯鐮佸ご銆� + // 4-涓績骞垮満銆� + // 5-浣撹偛鍦洪銆� + // 6-鍟嗕笟涓績銆� + // 7-瀹楁暀鍦烘墍銆� + // 8-鏍″洯鍛ㄨ竟銆� + // 9-娌诲畨澶嶆潅鍖哄煙銆� + // 10-浜ら�氬共绾裤�� + // String positionType = getText(itemDevice, "PositionType"); + + // TODO 鎽勫儚鏈哄畨瑁呬綅缃澶栥�佸鍐呭睘鎬с��1-瀹ゅ銆�2-瀹ゅ唴銆� + // String roomType = getText(itemDevice, "RoomType"); + // TODO 鎽勫儚鏈虹敤閫斿睘鎬� + // String useType = getText(itemDevice, "UseType"); + // TODO 鎽勫儚鏈鸿ˉ鍏夊睘鎬с��1-鏃犺ˉ鍏夈��2-绾㈠琛ュ厜銆�3-鐧藉厜琛ュ厜 + // String supplyLightType = getText(itemDevice, "SupplyLightType"); + // TODO 鎽勫儚鏈虹洃瑙嗘柟浣嶅睘鎬с��1-涓溿��2-瑗裤��3-鍗椼��4-鍖椼��5-涓滃崡銆�6-涓滃寳銆�7-瑗垮崡銆�8-瑗垮寳銆� + // String directionType = getText(itemDevice, "DirectionType"); + // TODO 鎽勫儚鏈烘敮鎸佺殑鍒嗚鲸鐜�,鍙湁澶氫釜鍒嗚鲸鐜囧��,鍚勪釜鍙栧�奸棿浠モ��/鈥濆垎闅斻�傚垎杈ㄧ巼鍙栧�煎弬瑙侀檮褰� F涓璖DPf瀛楁瑙勫畾 + // String resolution = getText(itemDevice, "Resolution"); + + // TODO 涓嬭浇鍊嶉�熻寖鍥�(鍙��),鍚勫彲閫夊弬鏁颁互鈥�/鈥濆垎闅�,濡傝澶囨敮鎸�1,2,4鍊嶉�熶笅杞藉垯搴斿啓涓衡��1/2/4 + // String downloadSpeed = getText(itemDevice, "DownloadSpeed"); + // TODO 绌哄煙缂栫爜鑳藉姏,鍙栧��0:涓嶆敮鎸�;1:1绾у寮�(1涓寮哄眰);2:2绾у寮�(2涓寮哄眰);3:3绾у寮�(3涓寮哄眰) + // String svcSpaceSupportMode = getText(itemDevice, "SVCSpaceSupportMode"); + // TODO 鏃跺煙缂栫爜鑳藉姏,鍙栧��0:涓嶆敮鎸�;1:1绾у寮�;2:2绾у寮�;3:3绾у寮� + // String svcTimeSupportMode = getText(itemDevice, "SVCTimeSupportMode"); + + + deviceChannel.setSecrecy(secrecy); + break; + } } return deviceChannel; diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java index 45405f7..76a5087 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java @@ -50,8 +50,6 @@ device = deviceMapper.getDeviceByDeviceId(deviceChannel.getDeviceId()); } - - if ("WGS84".equals(device.getGeoCoordSys())) { deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude()); deviceChannel.setLatitudeWgs84(deviceChannel.getLatitude()); @@ -262,4 +260,6 @@ } } } + + } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java index 55a2f0d..8a6257f 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java @@ -380,63 +380,11 @@ if (device == null) { return null; } - if (parentId == null || parentId.equals(deviceId)) { - // 瀛楁牴鑺傜偣寮�濮嬫煡璇� - List<DeviceChannel> rootNodes = getRootNodes(deviceId, TreeType.CIVIL_CODE.equals(device.getTreeType()), true, !onlyCatalog); - return transportChannelsToTree(rootNodes, ""); + if (ObjectUtils.isEmpty(parentId) || parentId.equals(deviceId)) { + parentId = null; } - - if (TreeType.CIVIL_CODE.equals(device.getTreeType())) { - if (parentId.length()%2 != 0) { - return null; - } - // 浣跨敤琛屾斂鍖哄垝灞曠ず鏍� -// if (parentId.length() > 10) { -// // TODO 鍙兘鏄鏀垮尯鍒掍笌涓氬姟鍒嗙粍娣锋潅鐨勬儏褰� -// return null; -// } - - if (parentId.length() == 10 ) { - if (onlyCatalog) { - return null; - } - // parentId涓鸿涓氱紪鐮侊紝 鍏朵笅涓嶄細鍐嶆湁琛屾斂鍖哄垝 - List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); - List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channels, parentId); - return trees; - } - // 鏌ヨ鍏朵笅鐨勮鏀垮尯鍒掑拰鎽勫儚鏈� - List<DeviceChannel> channelsForCivilCode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, parentId, parentId.length() + 2); - if (!onlyCatalog) { - List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); - - for(DeviceChannel channel : channels) { - boolean flag = false; - for(DeviceChannel deviceChannel : channelsForCivilCode) { - if(channel.getChannelId().equals(deviceChannel.getChannelId())) { - flag = true; - } - } - if(!flag) { - channelsForCivilCode.add(channel); - } - } - } - List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channelsForCivilCode, parentId); - return trees; - - } - // 浣跨敤涓氬姟鍒嗙粍灞曠ず鏍� - if (TreeType.BUSINESS_GROUP.equals(device.getTreeType())) { - if (parentId.length() < 14 ) { - return null; - } - List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null,null); - List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(deviceChannels, parentId); - return trees; - } - - return null; + List<DeviceChannel> rootNodes = deviceChannelMapper.getSubChannelsByDeviceId(deviceId, parentId, onlyCatalog); + return transportChannelsToTree(rootNodes, ""); } @Override @@ -445,42 +393,11 @@ if (device == null) { return null; } - if (parentId == null || parentId.equals(deviceId)) { - // 瀛楁牴鑺傜偣寮�濮嬫煡璇� - List<DeviceChannel> rootNodes = getRootNodes(deviceId, TreeType.CIVIL_CODE.equals(device.getTreeType()), false, true); - return rootNodes; + if (ObjectUtils.isEmpty(parentId) || parentId.equals(deviceId)) { + return deviceChannelMapper.getSubChannelsByDeviceId(deviceId, null, false); + }else { + return deviceChannelMapper.getSubChannelsByDeviceId(deviceId, parentId, false); } - - if (TreeType.CIVIL_CODE.equals(device.getTreeType())) { - if (parentId.length()%2 != 0) { - return null; - } - // 浣跨敤琛屾斂鍖哄垝灞曠ず鏍� - if (parentId.length() > 10) { - // TODO 鍙兘鏄鏀垮尯鍒掍笌涓氬姟鍒嗙粍娣锋潅鐨勬儏褰� - return null; - } - - if (parentId.length() == 10 ) { - // parentId涓鸿涓氱紪鐮侊紝 鍏朵笅涓嶄細鍐嶆湁琛屾斂鍖哄垝 - List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); - return channels; - } - // 鏌ヨ鍏朵笅鐨勮鏀垮尯鍒掑拰鎽勫儚鏈� - List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); - return channels; - - } - // 浣跨敤涓氬姟鍒嗙粍灞曠ず鏍� - if (TreeType.BUSINESS_GROUP.equals(device.getTreeType())) { - if (parentId.length() < 14 ) { - return null; - } - List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, parentId, null, null, null,null); - return deviceChannels; - } - - return null; } private List<BaseTree<DeviceChannel>> transportChannelsToTree(List<DeviceChannel> channels, String parentId) { @@ -500,65 +417,26 @@ node.setPid(parentId); node.setBasicData(channel); node.setParent(false); - if (channel.getChannelId().length() > 8) { - if (channel.getChannelId().length() > 13) { - String gbCodeType = channel.getChannelId().substring(10, 13); - node.setParent(gbCodeType.equals(ChannelIdType.BUSINESS_GROUP) || gbCodeType.equals(ChannelIdType.VIRTUAL_ORGANIZATION) ); - } - }else { + if (channel.getChannelId().length() <= 8) { node.setParent(true); + }else { + if (channel.getChannelId().length() != 20) { + node.setParent(channel.getParental() == 1); + }else { + try { + int type = Integer.parseInt(channel.getChannelId().substring(10, 13)); + if (type == 215 || type == 216 || type == 200) { + node.setParent(true); + } + }catch (NumberFormatException e) { + node.setParent(false); + } + } } treeNotes.add(node); } Collections.sort(treeNotes); return treeNotes; - } - - private List<DeviceChannel> getRootNodes(String deviceId, boolean isCivilCode, boolean haveCatalog, boolean haveChannel) { - if (!haveCatalog && !haveChannel) { - return null; - } - List<DeviceChannel> result = new ArrayList<>(); - if (isCivilCode) { - // 浣跨敤琛屾斂鍖哄垝 - Integer length= deviceChannelMapper.getChannelMinLength(deviceId); - if (length == null) { - return null; - } - if (length <= 10) { - if (haveCatalog) { - List<DeviceChannel> provinceNode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, null, length); - if (provinceNode != null && provinceNode.size() > 0) { - result.addAll(provinceNode); - } - } - - if (haveChannel) { - // 鏌ヨ閭d簺civilCode涓嶅湪閫氶亾涓殑涓嶈鑼冮�氶亾锛屾斁缃湪鏍圭洰褰� - List<DeviceChannel> nonstandardNode = deviceChannelMapper.getChannelWithoutCivilCode(deviceId); - if (nonstandardNode != null && nonstandardNode.size() > 0) { - result.addAll(nonstandardNode); - } - } - }else { - if (haveChannel) { - List<DeviceChannel> deviceChannels = deviceChannelMapper.queryChannels(deviceId, null, null, null, null,null); - if (deviceChannels != null && deviceChannels.size() > 0) { - result.addAll(deviceChannels); - } - } - } - - }else { - // 浣跨敤涓氬姟鍒嗙粍+铏氭嫙缁勭粐 - - // 鍙幏鍙栦笟鍔″垎缁� - List<DeviceChannel> deviceChannels = deviceChannelMapper.getBusinessGroups(deviceId, ChannelIdType.BUSINESS_GROUP); - if (deviceChannels != null && deviceChannels.size() > 0) { - result.addAll(deviceChannels); - } - } - return result; } @Override diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java index 0cde5fe..3fb2f93 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java @@ -113,20 +113,15 @@ deviceChannel.setStatus(gbStream.isStatus()); deviceChannel.setRegisterWay(1); - deviceChannel.setCivilCode(platform.getAdministrativeDivision()); - if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){ - deviceChannel.setCivilCode(catalogId); - }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){ - PlatformCatalog catalog = catalogMapper.select(catalogId); - if (catalog == null) { - deviceChannel.setParentId(platform.getDeviceGBId()); - deviceChannel.setBusinessGroupId(null); - }else { - deviceChannel.setParentId(catalog.getId()); - deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); - } - + PlatformCatalog catalog = catalogMapper.select(catalogId); + if (catalog != null) { + deviceChannel.setCivilCode(catalog.getCivilCode()); + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); + }else { + deviceChannel.setCivilCode(platform.getAdministrativeDivision()); + deviceChannel.setParentId(platform.getDeviceGBId()); } deviceChannel.setModel("live"); @@ -221,20 +216,14 @@ deviceChannel.setStatus(status != null && status); deviceChannel.setRegisterWay(1); - deviceChannel.setCivilCode(platform.getAdministrativeDivision()); - - if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){ - deviceChannel.setCivilCode(catalogId); - }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){ - PlatformCatalog catalog = catalogMapper.select(catalogId); - if (catalog == null) { - deviceChannel.setParentId(platform.getDeviceGBId()); - deviceChannel.setBusinessGroupId(null); - }else { - deviceChannel.setParentId(catalog.getId()); - deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); - } - + PlatformCatalog catalog = catalogMapper.select(catalogId); + if (catalog != null) { + deviceChannel.setCivilCode(catalog.getCivilCode()); + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); + }else { + deviceChannel.setCivilCode(platform.getAdministrativeDivision()); + deviceChannel.setParentId(platform.getDeviceGBId()); } deviceChannel.setModel("live"); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java index 7d827d7..eeea29a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java @@ -126,22 +126,17 @@ List<DeviceChannel> deviceChannelList = new ArrayList<>(); if (channelReduces.size() > 0){ PlatformCatalog catalog = catalogManager.select(catalogId); - if (catalog == null && !catalogId.equals(platform.getDeviceGBId())) { + if (catalog == null || !catalogId.equals(platform.getDeviceGBId())) { logger.warn("鏈煡璇㈠埌鐩綍{}鐨勪俊鎭�", catalogId); return null; } for (ChannelReduce channelReduce : channelReduces) { DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId()); deviceChannel.setParental(0); + deviceChannel.setCivilCode(catalog.getCivilCode()); + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); deviceChannelList.add(deviceChannel); - if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){ - deviceChannel.setCivilCode(catalogId); - }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){ - deviceChannel.setParentId(catalogId); - if (catalog != null) { - deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); - } - } } } return deviceChannelList; diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java index 63999b7..5a84dee 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java @@ -35,6 +35,8 @@ public class PlatformServiceImpl implements IPlatformService { private final static String REGISTER_KEY_PREFIX = "platform_register_"; + + private final static String REGISTER_FAIL_AGAIN_KEY_PREFIX = "platform_register_fail_again_"; private final static String KEEPALIVE_KEY_PREFIX = "platform_keepalive_"; private final static Logger logger = LoggerFactory.getLogger(PlatformServiceImpl.class); @@ -128,18 +130,12 @@ @Override public boolean update(ParentPlatform parentPlatform) { logger.info("[鍥芥爣绾ц仈]鏇存柊骞冲彴 {}", parentPlatform.getDeviceGBId()); + // TODO 鍚庣画鐗堟湰鍘婚櫎 + parentPlatform.setTreeType(""); parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase()); ParentPlatform parentPlatformOld = platformMapper.getParentPlatById(parentPlatform.getId()); ParentPlatformCatch parentPlatformCatchOld = redisCatchStorage.queryPlatformCatchInfo(parentPlatformOld.getServerGBId()); parentPlatform.setUpdateTime(DateUtil.getNow()); - if (!parentPlatformOld.getTreeType().equals(parentPlatform.getTreeType())) { - // 鐩綍缁撴瀯鍙戠敓鍙樺寲锛屾竻绌轰箣鍓嶇殑鍏宠仈鍏崇郴 - logger.info("淇濆瓨骞冲彴{}鏃跺彂鐜扮洰褰曠粨鏋勫彉鍖栵紝娓呯┖鍏宠仈鍏崇郴", parentPlatform.getDeviceGBId()); - catalogMapper.delByPlatformId(parentPlatformOld.getServerGBId()); - platformChannelMapper.delByPlatformId(parentPlatformOld.getServerGBId()); - platformGbStreamMapper.delByPlatformId(parentPlatformOld.getServerGBId()); - } - // 鍋滄蹇冭烦瀹氭椂 final String keepaliveTaskKey = KEEPALIVE_KEY_PREFIX + parentPlatformOld.getServerGBId(); @@ -150,12 +146,11 @@ // 娉ㄩ攢鏃х殑 try { if (parentPlatformOld.isStatus()) { - logger.info("淇濆瓨骞冲彴{}鏃跺彂鐜版晳骞冲彴鍦ㄧ嚎锛屽彂閫佹敞閿�鍛戒护", parentPlatformOld.getServerGBId()); + logger.info("淇濆瓨骞冲彴{}鏃跺彂鐜版棫骞冲彴鍦ㄧ嚎锛屽彂閫佹敞閿�鍛戒护", parentPlatformOld.getServerGBId()); commanderForPlatform.unregister(parentPlatformOld, parentPlatformCatchOld.getSipTransactionInfo(), null, eventResult -> { logger.info("[鍥芥爣绾ц仈] 娉ㄩ攢鎴愬姛锛� 骞冲彴锛歿}", parentPlatformOld.getServerGBId()); }); } - } catch (InvalidArgumentException | ParseException | SipException e) { logger.error("[鍛戒护鍙戦�佸け璐 鍥芥爣绾ц仈 娉ㄩ攢: {}", e.getMessage()); } @@ -188,9 +183,6 @@ logger.error("[鍛戒护鍙戦�佸け璐 鍥芥爣绾ц仈: {}", e.getMessage()); } } - // 閲嶆柊寮�鍚畾鏃舵敞鍐岋紝 浣跨敤缁娑堟伅 - // 閲嶆柊寮�濮嬪績璺充繚娲� - return false; } @@ -199,6 +191,9 @@ @Override public void online(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo) { logger.info("[鍥芥爣绾ц仈]锛歿}, 骞冲彴涓婄嚎", parentPlatform.getServerGBId()); + final String registerFailAgainTaskKey = REGISTER_FAIL_AGAIN_KEY_PREFIX + parentPlatform.getServerGBId(); + dynamicTask.stop(registerFailAgainTaskKey); + platformMapper.updateParentPlatformStatus(parentPlatform.getServerGBId(), true); ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId()); if (parentPlatformCatch == null) { @@ -239,15 +234,9 @@ // 姝ゆ椂鏄涓夋蹇冭烦瓒呮椂锛� 骞冲彴绂荤嚎 if (platformCatch.getKeepAliveReply() == 2) { // 璁剧疆骞冲彴绂荤嚎锛屽苟閲嶆柊娉ㄥ唽 - logger.info("[鍥芥爣绾ц仈] {}锛屼笁娆″績璺宠秴鏃跺悗鍐嶆鍙戣捣娉ㄥ唽", parentPlatform.getServerGBId()); - try { - commanderForPlatform.register(parentPlatform, eventResult1 -> { - logger.info("[鍥芥爣绾ц仈] {}锛屼笁娆″績璺宠秴鏃跺悗鍐嶆鍙戣捣娉ㄥ唽浠嶇劧澶辫触锛屽紑濮嬪畾鏃跺彂璧锋敞鍐岋紝闂撮殧涓�1鍒嗛挓", parentPlatform.getServerGBId()); - offline(parentPlatform, false); - }, null); - } catch (InvalidArgumentException | ParseException | SipException e) { - logger.error("[鍛戒护鍙戦�佸け璐 鍥芥爣绾ц仈 娉ㄥ唽: {}", e.getMessage()); - } + logger.info("[鍥芥爣绾ц仈] 涓夋蹇冭烦瓒呮椂, 骞冲彴{}({})绂荤嚎", parentPlatform.getName(), parentPlatform.getServerGBId()); + offline(parentPlatform, false); + } }else { @@ -273,21 +262,22 @@ private void registerTask(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo){ try { - // 璁剧疆瓒呮椂閲嶅彂锛� 鍚庣画浠庡簳灞傛敮鎸佹秷鎭噸鍙� - String key = KEEPALIVE_KEY_PREFIX + parentPlatform.getServerGBId() + "_timeout"; - if (dynamicTask.isAlive(key)) { - return; + // 涓嶅湪鍚屼竴涓細璇濅腑缁鍒欐瘡娆″叏鏂版敞鍐� + if (!userSetting.isRegisterKeepIntDialog()) { + sipTransactionInfo = null; } - dynamicTask.startDelay(key, ()->{ - registerTask(parentPlatform, sipTransactionInfo); - }, 1000); - logger.info("[鍥芥爣绾ц仈] 骞冲彴锛歿}娉ㄥ唽鍗冲皢鍒版湡锛屽紑濮嬬画璁�", parentPlatform.getServerGBId()); + + if (sipTransactionInfo == null) { + logger.info("[鍥芥爣绾ц仈] 骞冲彴锛歿}娉ㄥ唽鍗冲皢鍒版湡锛屽紑濮嬮噸鏂版敞鍐�", parentPlatform.getServerGBId()); + }else { + logger.info("[鍥芥爣绾ц仈] 骞冲彴锛歿}娉ㄥ唽鍗冲皢鍒版湡锛屽紑濮嬬画璁�", parentPlatform.getServerGBId()); + } + commanderForPlatform.register(parentPlatform, sipTransactionInfo, eventResult -> { - dynamicTask.stop(key); + logger.info("[鍥芥爣绾ц仈] 骞冲彴锛歿}娉ㄥ唽澶辫触锛寋}:{}", parentPlatform.getServerGBId(), + eventResult.statusCode, eventResult.msg); offline(parentPlatform, false); - },eventResult -> { - dynamicTask.stop(key); - }); + }, null); } catch (InvalidArgumentException | ParseException | SipException e) { logger.error("[鍛戒护鍙戦�佸け璐 鍥芥爣绾ц仈瀹氭椂娉ㄥ唽: {}", e.getMessage()); } @@ -308,24 +298,35 @@ // 鍋滄鎵�鏈夋帹娴� logger.info("[骞冲彴绂荤嚎] {}, 鍋滄鎵�鏈夋帹娴�", parentPlatform.getServerGBId()); stopAllPush(parentPlatform.getServerGBId()); - if (stopRegister) { - // 娓呴櫎娉ㄥ唽瀹氭椂 - logger.info("[骞冲彴绂荤嚎] {}, 鍋滄瀹氭椂娉ㄥ唽浠诲姟", parentPlatform.getServerGBId()); - final String registerTaskKey = REGISTER_KEY_PREFIX + parentPlatform.getServerGBId(); - if (dynamicTask.contains(registerTaskKey)) { - dynamicTask.stop(registerTaskKey); - } + + // 娓呴櫎娉ㄥ唽瀹氭椂 + logger.info("[骞冲彴绂荤嚎] {}, 鍋滄瀹氭椂娉ㄥ唽浠诲姟", parentPlatform.getServerGBId()); + final String registerTaskKey = REGISTER_KEY_PREFIX + parentPlatform.getServerGBId(); + if (dynamicTask.contains(registerTaskKey)) { + dynamicTask.stop(registerTaskKey); } // 娓呴櫎蹇冭烦瀹氭椂 logger.info("[骞冲彴绂荤嚎] {}, 鍋滄瀹氭椂鍙戦�佸績璺充换鍔�", parentPlatform.getServerGBId()); final String keepaliveTaskKey = KEEPALIVE_KEY_PREFIX + parentPlatform.getServerGBId(); if (dynamicTask.contains(keepaliveTaskKey)) { - // 娣诲姞蹇冭烦浠诲姟 + // 娓呴櫎蹇冭烦浠诲姟 dynamicTask.stop(keepaliveTaskKey); } // 鍋滄鐩綍璁㈤槄鍥炲 logger.info("[骞冲彴绂荤嚎] {}, 鍋滄璁㈤槄鍥炲", parentPlatform.getServerGBId()); subscribeHolder.removeAllSubscribe(parentPlatform.getServerGBId()); + // 鍙戣捣瀹氭椂鑷姩閲嶆柊娉ㄥ唽 + if (!stopRegister) { + // 璁剧疆涓�60绉掕嚜鍔ㄥ皾璇曢噸鏂版敞鍐� + final String registerFailAgainTaskKey = REGISTER_FAIL_AGAIN_KEY_PREFIX + parentPlatform.getServerGBId(); + ParentPlatform platform = platformMapper.getParentPlatById(parentPlatform.getId()); + if (platform.isEnable()) { + dynamicTask.startCron(registerFailAgainTaskKey, + ()-> registerTask(platform, null), + userSetting.getRegisterAgainAfterTime() * 1000); + } + + } } private void stopAllPush(String platformId) { diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java index 22b95c2..bd0d74f 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java @@ -450,4 +450,14 @@ @Select("select count(1) from wvp_device_channel") int getAllChannelCount(); + + @Select(value = {" <script>" + + "select * " + + "from device_channel " + + "where device_id=#{deviceId}" + + " <if test='parentId != null '> and parent_id = #{parentId} </if>" + + " <if test='parentId == null '> and parent_id is null </if>" + + " <if test='onlyCatalog == true '> and parental = 1 </if>" + + " </script>"}) + List<DeviceChannel> getSubChannelsByDeviceId(String deviceId, String parentId, boolean onlyCatalog); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java index f73339d..9239747 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java @@ -128,51 +128,50 @@ List<DeviceChannel> addChannels = new ArrayList<>(); StringBuilder stringBuilder = new StringBuilder(); Map<String, Integer> subContMap = new HashMap<>(); - if (deviceChannelList.size() > 0) { - // 鏁版嵁鍘婚噸 - Set<String> gbIdSet = new HashSet<>(); - for (DeviceChannel deviceChannel : deviceChannelList) { - if (!gbIdSet.contains(deviceChannel.getChannelId())) { - gbIdSet.add(deviceChannel.getChannelId()); - deviceChannel.setUpdateTime(DateUtil.getNow()); - if (allChannelMap.containsKey(deviceChannel.getChannelId())) { - deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId()); - deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio()); - if (allChannelMap.get(deviceChannel.getChannelId()).isStatus() !=deviceChannel.isStatus()){ - List<String> strings = platformChannelMapper.queryParentPlatformByChannelId(deviceChannel.getChannelId()); - if (!CollectionUtils.isEmpty(strings)){ - strings.forEach(platformId->{ - eventPublisher.catalogEventPublish(platformId, deviceChannel, deviceChannel.isStatus()?CatalogEvent.ON:CatalogEvent.OFF); - }); - } - } - updateChannels.add(deviceChannel); - }else { - deviceChannel.setCreateTime(DateUtil.getNow()); - addChannels.add(deviceChannel); - } - channels.add(deviceChannel); - if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) { - if (subContMap.get(deviceChannel.getParentId()) == null) { - subContMap.put(deviceChannel.getParentId(), 1); - }else { - Integer count = subContMap.get(deviceChannel.getParentId()); - subContMap.put(deviceChannel.getParentId(), count++); - } - } - }else { - stringBuilder.append(deviceChannel.getChannelId()).append(","); - } - } - if (channels.size() > 0) { - for (DeviceChannel channel : channels) { - if (subContMap.get(channel.getChannelId()) != null){ - channel.setSubCount(subContMap.get(channel.getChannelId())); - } - } - } + // 鏁版嵁鍘婚噸 + Set<String> gbIdSet = new HashSet<>(); + for (DeviceChannel deviceChannel : deviceChannelList) { + if (gbIdSet.contains(deviceChannel.getChannelId())) { + stringBuilder.append(deviceChannel.getChannelId()).append(","); + continue; + } + gbIdSet.add(deviceChannel.getChannelId()); + if (allChannelMap.containsKey(deviceChannel.getChannelId())) { + deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId()); + deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio()); + if (allChannelMap.get(deviceChannel.getChannelId()).getStatus() !=deviceChannel.getStatus()){ + List<String> strings = platformChannelMapper.queryParentPlatformByChannelId(deviceChannel.getChannelId()); + if (!CollectionUtils.isEmpty(strings)){ + strings.forEach(platformId->{ + eventPublisher.catalogEventPublish(platformId, deviceChannel, deviceChannel.getStatus()==1?CatalogEvent.ON:CatalogEvent.OFF); + }); + } + + } + } + channels.add(deviceChannel); + if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) { + if (subContMap.get(deviceChannel.getParentId()) == null) { + subContMap.put(deviceChannel.getParentId(), 1); + }else { + Integer count = subContMap.get(deviceChannel.getParentId()); + subContMap.put(deviceChannel.getParentId(), count++); + } + } } + if (channels.size() > 0) { + for (DeviceChannel channel : channels) { + if (subContMap.get(channel.getChannelId()) != null){ + Integer count = subContMap.get(channel.getChannelId()); + if (count > 0) { + channel.setSubCount(count); + channel.setParental(1); + } + } + } + } + if (stringBuilder.length() > 0) { logger.info("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder); } @@ -795,25 +794,49 @@ if (platform == null) { return 0; } - if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)) { - if (platform.getDeviceGBId().equals(platformCatalog.getParentId())) { - // 绗竴灞傝妭鐐� - platformCatalog.setBusinessGroupId(platformCatalog.getId()); - platformCatalog.setParentId(platform.getDeviceGBId()); - }else { - // 鑾峰彇椤跺眰鐨� - PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platform.getDeviceGBId()); - platformCatalog.setBusinessGroupId(topCatalog.getId()); + if (platformCatalog.getId().length() <= 8) { + platformCatalog.setCivilCode(platformCatalog.getParentId()); + }else { + if (platformCatalog.getId().length() != 20) { + return 0; + } + if (platformCatalog.getParentId() != null) { + switch (Integer.parseInt(platformCatalog.getId().substring(10, 13))){ + case 200: + case 215: + if (platformCatalog.getParentId().length() <= 8) { + platformCatalog.setCivilCode(platformCatalog.getParentId()); + }else { + PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId()); + if (catalog != null) { + platformCatalog.setCivilCode(catalog.getCivilCode()); + } + } + break; + case 216: + if (platformCatalog.getParentId().length() <= 8) { + platformCatalog.setCivilCode(platformCatalog.getParentId()); + }else { + PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId()); + if (catalog == null) { + logger.warn("[娣诲姞鐩綍] 鏃犳硶鑾峰彇鐩綍{}鐨凜ivilCode鍜孊usinessGroupId", platformCatalog.getPlatformId()); + break; + } + platformCatalog.setCivilCode(catalog.getCivilCode()); + if (Integer.parseInt(platformCatalog.getParentId().substring(10, 13)) == 215) { + platformCatalog.setBusinessGroupId(platformCatalog.getParentId()); + }else { + if (Integer.parseInt(platformCatalog.getParentId().substring(10, 13)) == 216) { + platformCatalog.setBusinessGroupId(catalog.getBusinessGroupId()); + } + } + } + break; + default: + break; + } } } - if (platform.getTreeType().equals(TreeType.CIVIL_CODE)) { - platformCatalog.setCivilCode(platformCatalog.getId()); - if (platformCatalog.getPlatformId().equals(platformCatalog.getParentId())) { - // 绗竴灞傝妭鐐� - platformCatalog.setParentId(platform.getDeviceGBId()); - } - } - int result = catalogMapper.add(platformCatalog); if (result > 0) { DeviceChannel deviceChannel = getDeviceChannelByCatalog(platformCatalog); @@ -937,19 +960,14 @@ DeviceChannel deviceChannel = new DeviceChannel(); deviceChannel.setChannelId(catalog.getId()); deviceChannel.setName(catalog.getName()); - deviceChannel.setLongitude(0.0); - deviceChannel.setLatitude(0.0); deviceChannel.setDeviceId(platform.getDeviceGBId()); deviceChannel.setManufacture("wvp-pro"); deviceChannel.setStatus(true); deviceChannel.setParental(1); deviceChannel.setRegisterWay(1); - // 琛屾斂鍖哄垝搴旇鏄疍omain鐨勫墠鍏綅 - if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)) { - deviceChannel.setParentId(catalog.getParentId()); - deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); - } + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); deviceChannel.setModel("live"); deviceChannel.setOwner("wvp-pro"); diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java index 1b2a8f3..7cf78e9 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java @@ -403,8 +403,12 @@ if (platform == null) { throw new ControllerException(ErrorCode.ERROR100.getCode(), "骞冲彴鏈壘鍒�"); } - if (platformId.equals(parentId)) { - parentId = platform.getDeviceGBId(); +// if (platformId.equals(parentId)) { +// parentId = platform.getDeviceGBId(); +// } + + if (platformId.equals(platform.getDeviceGBId())) { + parentId = null; } return storager.getChildrenCatalogByPlatform(platformId, parentId); diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml index d67eac5..0b079f1 100644 --- a/src/main/resources/all-application.yml +++ b/src/main/resources/all-application.yml @@ -202,6 +202,10 @@ device-status-notify: false # 涓婄骇骞冲彴鐐规挱鏃朵笉浣跨敤涓婄骇骞冲彴鎸囧畾鐨剆src锛屼娇鐢ㄨ嚜瀹氫箟鐨剆src锛屽弬鑰冨浗鏍囨枃妗�-鐐规挱澶栧煙璁惧濯掍綋娴丼SRC澶勭悊鏂瑰紡 use-custom-ssrc-for-parent-invite: true + # 鍥芥爣绾ц仈绂荤嚎鍚庡涔呴噸璇曚竴娆℃敞鍐� + register-again-after-time: 60 + # 鍥芥爣缁鏂瑰紡锛宼rue涓虹画璁紝姣忔娉ㄥ唽鍦ㄥ悓涓�涓細璇濋噷锛宖alse涓洪噸鏂版敞鍐岋紝姣忔浣跨敤鏂扮殑浼氳瘽 + register-keep-int-dialog: false # 璺ㄥ煙閰嶇疆锛岄厤缃綘璁块棶鍓嶇椤甸潰鐨勫湴鍧�鍗冲彲锛� 鍙互閰嶇疆澶氫釜 allowed-origins: - http://localhost:8008 diff --git a/src/main/resources/civilCode.csv b/src/main/resources/civilCode.csv new file mode 100644 index 0000000..7785924 --- /dev/null +++ b/src/main/resources/civilCode.csv @@ -0,0 +1,3220 @@ +缂栧彿,鍚嶇О,涓婄骇 +11,鍖椾含甯�, +110101,涓滃煄鍖�,11 +110102,瑗垮煄鍖�,11 +110105,鏈濋槼鍖�,11 +110106,涓板彴鍖�,11 +110107,鐭虫櫙灞卞尯,11 +110108,娴锋穩鍖�,11 +110109,闂ㄥご娌熷尯,11 +110111,鎴垮北鍖�,11 +110112,閫氬窞鍖�,11 +110113,椤轰箟鍖�,11 +110114,鏄屽钩鍖�,11 +110115,澶у叴鍖�,11 +110116,鎬�鏌斿尯,11 +110117,骞宠胺鍖�,11 +110118,瀵嗕簯鍖�,11 +110119,寤跺簡鍖�,11 +12,澶╂触甯�, +120101,鍜屽钩鍖�,12 +120102,娌充笢鍖�,12 +120103,娌宠タ鍖�,12 +120104,鍗楀紑鍖�,12 +120105,娌冲寳鍖�,12 +120106,绾㈡ˉ鍖�,12 +120110,涓滀附鍖�,12 +120111,瑗块潚鍖�,12 +120112,娲ュ崡鍖�,12 +120113,鍖楄景鍖�,12 +120114,姝︽竻鍖�,12 +120115,瀹濆澔鍖�,12 +120116,婊ㄦ捣鏂板尯,12 +120117,瀹佹渤鍖�,12 +120118,闈欐捣鍖�,12 +120119,钃熷窞鍖�,12 +13,娌冲寳鐪�, +1301,鐭冲搴勫競,13 +130102,闀垮畨鍖�,1301 +130104,妗ヨタ鍖�,1301 +130105,鏂板崕鍖�,1301 +130107,浜曢檳鐭垮尯,1301 +130108,瑁曞崕鍖�,1301 +130109,钘佸煄鍖�,1301 +130110,楣挎硥鍖�,1301 +130111,鏍惧煄鍖�,1301 +130121,浜曢檳鍘�,1301 +130123,姝e畾鍘�,1301 +130125,琛屽攼鍘�,1301 +130126,鐏靛鍘�,1301 +130127,楂橀倯鍘�,1301 +130128,娣辨辰鍘�,1301 +130129,璧炵殗鍘�,1301 +130130,鏃犳瀬鍘�,1301 +130131,骞冲北鍘�,1301 +130132,鍏冩皬鍘�,1301 +130133,璧靛幙,1301 +130181,杈涢泦甯�,1301 +130183,鏅嬪窞甯�,1301 +130184,鏂颁箰甯�,1301 +1302,鍞愬北甯�,13 +130202,璺崡鍖�,1302 +130203,璺寳鍖�,1302 +130204,鍙ゅ喍鍖�,1302 +130205,寮�骞冲尯,1302 +130207,涓板崡鍖�,1302 +130208,涓版鼎鍖�,1302 +130209,鏇瑰鐢稿尯,1302 +130224,婊﹀崡鍘�,1302 +130225,涔愪涵鍘�,1302 +130227,杩佽タ鍘�,1302 +130229,鐜夌敯鍘�,1302 +130281,閬靛寲甯�,1302 +130283,杩佸畨甯�,1302 +130284,婊﹀窞甯�,1302 +1303,绉︾殗宀涘競,13 +130302,娴锋腐鍖�,1303 +130303,灞辨捣鍏冲尯,1303 +130304,鍖楁埓娌冲尯,1303 +130306,鎶氬畞鍖�,1303 +130321,闈掗緳婊℃棌鑷不鍘�,1303 +130322,鏄岄粠鍘�,1303 +130324,鍗㈤緳鍘�,1303 +1304,閭兏甯�,13 +130402,閭北鍖�,1304 +130403,涓涘彴鍖�,1304 +130404,澶嶅叴鍖�,1304 +130406,宄板嘲鐭垮尯,1304 +130407,鑲ヤ埂鍖�,1304 +130408,姘稿勾鍖�,1304 +130423,涓存汲鍘�,1304 +130424,鎴愬畨鍘�,1304 +130425,澶у悕鍘�,1304 +130426,娑夊幙,1304 +130427,纾佸幙,1304 +130430,閭卞幙,1304 +130431,楦℃辰鍘�,1304 +130432,骞垮钩鍘�,1304 +130433,棣嗛櫠鍘�,1304 +130434,榄忓幙,1304 +130435,鏇插懆鍘�,1304 +130481,姝﹀畨甯�,1304 +1305,閭㈠彴甯�,13 +130502,妗ヤ笢鍖�,1305 +130503,妗ヨタ鍖�,1305 +130521,閭㈠彴鍘�,1305 +130522,涓村煄鍘�,1305 +130523,鍐呬笜鍘�,1305 +130524,鏌忎埂鍘�,1305 +130525,闅嗗哀鍘�,1305 +130526,浠诲幙,1305 +130527,鍗楀拰鍘�,1305 +130528,瀹佹檵鍘�,1305 +130529,宸ㄩ箍鍘�,1305 +130530,鏂版渤鍘�,1305 +130531,骞垮畻鍘�,1305 +130532,骞充埂鍘�,1305 +130533,濞佸幙,1305 +130534,娓呮渤鍘�,1305 +130535,涓磋タ鍘�,1305 +130581,鍗楀甯�,1305 +130582,娌欐渤甯�,1305 +1306,淇濆畾甯�,13 +130602,绔炵鍖�,1306 +130606,鑾叉睜鍖�,1306 +130607,婊″煄鍖�,1306 +130608,娓呰嫅鍖�,1306 +130609,寰愭按鍖�,1306 +130623,娑炴按鍘�,1306 +130624,闃滃钩鍘�,1306 +130626,瀹氬叴鍘�,1306 +130627,鍞愬幙,1306 +130628,楂橀槼鍘�,1306 +130629,瀹瑰煄鍘�,1306 +130630,娑炴簮鍘�,1306 +130631,鏈涢兘鍘�,1306 +130632,瀹夋柊鍘�,1306 +130633,鏄撳幙,1306 +130634,鏇查槼鍘�,1306 +130635,锠″幙,1306 +130636,椤哄钩鍘�,1306 +130637,鍗氶噹鍘�,1306 +130638,闆勫幙,1306 +130681,娑垮窞甯�,1306 +130682,瀹氬窞甯�,1306 +130683,瀹夊浗甯�,1306 +130684,楂樼搴楀競,1306 +1307,寮犲鍙e競,13 +130702,妗ヤ笢鍖�,1307 +130703,妗ヨタ鍖�,1307 +130705,瀹e寲鍖�,1307 +130706,涓嬭姳鍥尯,1307 +130708,涓囧叏鍖�,1307 +130709,宕囩ぜ鍖�,1307 +130722,寮犲寳鍘�,1307 +130723,搴蜂繚鍘�,1307 +130724,娌芥簮鍘�,1307 +130725,灏氫箟鍘�,1307 +130726,钄氬幙,1307 +130727,闃冲師鍘�,1307 +130728,鎬�瀹夊幙,1307 +130730,鎬�鏉ュ幙,1307 +130731,娑块箍鍘�,1307 +130732,璧ゅ煄鍘�,1307 +1308,鎵垮痉甯�,13 +130802,鍙屾ˉ鍖�,1308 +130803,鍙屾沪鍖�,1308 +130804,楣版墜钀ュ瓙鐭垮尯,1308 +130821,鎵垮痉鍘�,1308 +130822,鍏撮殕鍘�,1308 +130824,婊﹀钩鍘�,1308 +130825,闅嗗寲鍘�,1308 +130826,涓板畞婊℃棌鑷不鍘�,1308 +130827,瀹藉煄婊℃棌鑷不鍘�,1308 +130828,鍥村満婊℃棌钂欏彜鏃忚嚜娌诲幙,1308 +130881,骞虫硥甯�,1308 +1309,娌у窞甯�,13 +130902,鏂板崕鍖�,1309 +130903,杩愭渤鍖�,1309 +130921,娌у幙,1309 +130922,闈掑幙,1309 +130923,涓滃厜鍘�,1309 +130924,娴峰叴鍘�,1309 +130925,鐩愬北鍘�,1309 +130926,鑲冨畞鍘�,1309 +130927,鍗楃毊鍘�,1309 +130928,鍚存ˉ鍘�,1309 +130929,鐚幙,1309 +130930,瀛熸潙鍥炴棌鑷不鍘�,1309 +130981,娉婂ご甯�,1309 +130982,浠讳笜甯�,1309 +130983,榛勯獏甯�,1309 +130984,娌抽棿甯�,1309 +1310,寤婂潑甯�,13 +131002,瀹夋鍖�,1310 +131003,骞块槼鍖�,1310 +131022,鍥哄畨鍘�,1310 +131023,姘告竻鍘�,1310 +131024,棣欐渤鍘�,1310 +131025,澶у煄鍘�,1310 +131026,鏂囧畨鍘�,1310 +131028,澶у巶鍥炴棌鑷不鍘�,1310 +131081,闇稿窞甯�,1310 +131082,涓夋渤甯�,1310 +1311,琛℃按甯�,13 +131102,妗冨煄鍖�,1311 +131103,鍐�宸炲尯,1311 +131121,鏋e己鍘�,1311 +131122,姝﹂倯鍘�,1311 +131123,姝﹀己鍘�,1311 +131124,楗堕槼鍘�,1311 +131125,瀹夊钩鍘�,1311 +131126,鏁呭煄鍘�,1311 +131127,鏅幙,1311 +131128,闃滃煄鍘�,1311 +131182,娣卞窞甯�,1311 +14,灞辫タ鐪�, +1401,澶師甯�,14 +140105,灏忓簵鍖�,1401 +140106,杩庢辰鍖�,1401 +140107,鏉忚姳宀尯,1401 +140108,灏栬崏鍧尯,1401 +140109,涓囨煆鏋楀尯,1401 +140110,鏅嬫簮鍖�,1401 +140121,娓呭緪鍘�,1401 +140122,闃虫洸鍘�,1401 +140123,濞勭儲鍘�,1401 +140181,鍙や氦甯�,1401 +1402,澶у悓甯�,14 +140212,鏂拌崳鍖�,1402 +140213,骞冲煄鍖�,1402 +140214,浜戝唸鍖�,1402 +140215,浜戝窞鍖�,1402 +140221,闃抽珮鍘�,1402 +140222,澶╅晣鍘�,1402 +140223,骞跨伒鍘�,1402 +140224,鐏典笜鍘�,1402 +140225,娴戞簮鍘�,1402 +140226,宸︿簯鍘�,1402 +1403,闃虫硥甯�,14 +140302,鍩庡尯,1403 +140303,鐭垮尯,1403 +140311,閮婂尯,1403 +140321,骞冲畾鍘�,1403 +140322,鐩傚幙,1403 +1404,闀挎不甯�,14 +140403,娼炲窞鍖�,1404 +140404,涓婂厷鍖�,1404 +140405,灞暀鍖�,1404 +140406,娼炲煄鍖�,1404 +140423,瑗勫灒鍘�,1404 +140425,骞抽『鍘�,1404 +140426,榛庡煄鍘�,1404 +140427,澹跺叧鍘�,1404 +140428,闀垮瓙鍘�,1404 +140429,姝︿埂鍘�,1404 +140430,娌佸幙,1404 +140431,娌佹簮鍘�,1404 +1405,鏅嬪煄甯�,14 +140502,鍩庡尯,1405 +140521,娌佹按鍘�,1405 +140522,闃冲煄鍘�,1405 +140524,闄靛窛鍘�,1405 +140525,娉藉窞鍘�,1405 +140581,楂樺钩甯�,1405 +1406,鏈斿窞甯�,14 +140602,鏈斿煄鍖�,1406 +140603,骞抽瞾鍖�,1406 +140621,灞遍槾鍘�,1406 +140622,搴斿幙,1406 +140623,鍙崇帀鍘�,1406 +140681,鎬�浠佸競,1406 +1407,鏅嬩腑甯�,14 +140702,姒嗘鍖�,1407 +140721,姒嗙ぞ鍘�,1407 +140722,宸︽潈鍘�,1407 +140723,鍜岄『鍘�,1407 +140724,鏄旈槼鍘�,1407 +140725,瀵块槼鍘�,1407 +140726,澶胺鍘�,1407 +140727,绁佸幙,1407 +140728,骞抽仴鍘�,1407 +140729,鐏电煶鍘�,1407 +140781,浠嬩紤甯�,1407 +1408,杩愬煄甯�,14 +140802,鐩愭箹鍖�,1408 +140821,涓寸寳鍘�,1408 +140822,涓囪崳鍘�,1408 +140823,闂诲枩鍘�,1408 +140824,绋峰北鍘�,1408 +140825,鏂扮粵鍘�,1408 +140826,缁涘幙,1408 +140827,鍨f洸鍘�,1408 +140828,澶忓幙,1408 +140829,骞抽檰鍘�,1408 +140830,鑺煄鍘�,1408 +140881,姘告祹甯�,1408 +140882,娌虫触甯�,1408 +1409,蹇诲窞甯�,14 +140902,蹇诲簻鍖�,1409 +140921,瀹氳鍘�,1409 +140922,浜斿彴鍘�,1409 +140923,浠e幙,1409 +140924,绻佸硻鍘�,1409 +140925,瀹佹鍘�,1409 +140926,闈欎箰鍘�,1409 +140927,绁炴睜鍘�,1409 +140928,浜斿鍘�,1409 +140929,宀㈠矚鍘�,1409 +140930,娌虫洸鍘�,1409 +140931,淇濆痉鍘�,1409 +140932,鍋忓叧鍘�,1409 +140981,鍘熷钩甯�,1409 +1410,涓存本甯�,14 +141002,灏ч兘鍖�,1410 +141021,鏇叉矁鍘�,1410 +141022,缈煎煄鍘�,1410 +141023,瑗勬本鍘�,1410 +141024,娲礊鍘�,1410 +141025,鍙ゅ幙,1410 +141026,瀹夋辰鍘�,1410 +141027,娴北鍘�,1410 +141028,鍚夊幙,1410 +141029,涔″畞鍘�,1410 +141030,澶у畞鍘�,1410 +141031,闅板幙,1410 +141032,姘稿拰鍘�,1410 +141033,钂插幙,1410 +141034,姹捐タ鍘�,1410 +141081,渚┈甯�,1410 +141082,闇嶅窞甯�,1410 +1411,鍚曟甯�,14 +141102,绂荤煶鍖�,1411 +141121,鏂囨按鍘�,1411 +141122,浜ゅ煄鍘�,1411 +141123,鍏村幙,1411 +141124,涓村幙,1411 +141125,鏌虫灄鍘�,1411 +141126,鐭虫ゼ鍘�,1411 +141127,宀氬幙,1411 +141128,鏂瑰北鍘�,1411 +141129,涓槼鍘�,1411 +141130,浜ゅ彛鍘�,1411 +141181,瀛濅箟甯�,1411 +141182,姹鹃槼甯�,1411 +15,鍐呰挋鍙よ嚜娌诲尯, +1501,鍛煎拰娴╃壒甯�,15 +150102,鏂板煄鍖�,1501 +150103,鍥炴皯鍖�,1501 +150104,鐜夋硥鍖�,1501 +150105,璧涚綍鍖�,1501 +150121,鍦熼粯鐗瑰乏鏃�,1501 +150122,鎵樺厠鎵樺幙,1501 +150123,鍜屾灄鏍煎皵鍘�,1501 +150124,娓呮按娌冲幙,1501 +150125,姝﹀窛鍘�,1501 +1502,鍖呭ご甯�,15 +150202,涓滄渤鍖�,1502 +150203,鏄嗛兘浠戝尯,1502 +150204,闈掑北鍖�,1502 +150205,鐭虫嫄鍖�,1502 +150206,鐧戒簯閯傚崥鐭垮尯,1502 +150207,涔濆師鍖�,1502 +150221,鍦熼粯鐗瑰彸鏃�,1502 +150222,鍥洪槼鍘�,1502 +150223,杈惧皵缃曡寕鏄庡畨鑱斿悎鏃�,1502 +1503,涔屾捣甯�,15 +150302,娴峰媰婀惧尯,1503 +150303,娴峰崡鍖�,1503 +150304,涔岃揪鍖�,1503 +1504,璧ゅ嘲甯�,15 +150402,绾㈠北鍖�,1504 +150403,鍏冨疂灞卞尯,1504 +150404,鏉惧北鍖�,1504 +150421,闃块瞾绉戝皵娌佹棗,1504 +150422,宸存灄宸︽棗,1504 +150423,宸存灄鍙虫棗,1504 +150424,鏋楄タ鍘�,1504 +150425,鍏嬩粈鍏嬭吘鏃�,1504 +150426,缈佺墰鐗规棗,1504 +150428,鍠�鍠囨瞾鏃�,1504 +150429,瀹佸煄鍘�,1504 +150430,鏁栨眽鏃�,1504 +1505,閫氳窘甯�,15 +150502,绉戝皵娌佸尯,1505 +150521,绉戝皵娌佸乏缈间腑鏃�,1505 +150522,绉戝皵娌佸乏缈煎悗鏃�,1505 +150523,寮�椴佸幙,1505 +150524,搴撲鸡鏃�,1505 +150525,濂堟浖鏃�,1505 +150526,鎵庨瞾鐗规棗,1505 +150581,闇嶆灄閮嫆甯�,1505 +1506,閯傚皵澶氭柉甯�,15 +150602,涓滆儨鍖�,1506 +150603,搴峰反浠�鍖�,1506 +150621,杈炬媺鐗规棗,1506 +150622,鍑嗘牸灏旀棗,1506 +150623,閯傛墭鍏嬪墠鏃�,1506 +150624,閯傛墭鍏嬫棗,1506 +150625,鏉敠鏃�,1506 +150626,涔屽鏃�,1506 +150627,浼婇噾闇嶆礇鏃�,1506 +1507,鍛间鸡璐濆皵甯�,15 +150702,娴锋媺灏斿尯,1507 +150703,鎵庤祲璇哄皵鍖�,1507 +150721,闃胯崳鏃�,1507 +150722,鑾姏杈剧摝杈炬枴灏旀棌鑷不鏃�,1507 +150723,閯備鸡鏄ヨ嚜娌绘棗,1507 +150724,閯傛俯鍏嬫棌鑷不鏃�,1507 +150725,闄堝反灏旇檸鏃�,1507 +150726,鏂板反灏旇檸宸︽棗,1507 +150727,鏂板反灏旇檸鍙虫棗,1507 +150781,婊℃床閲屽競,1507 +150782,鐗欏厠鐭冲競,1507 +150783,鎵庡叞灞競,1507 +150784,棰濆皵鍙ょ撼甯�,1507 +150785,鏍规渤甯�,1507 +1508,宸村溅娣栧皵甯�,15 +150802,涓存渤鍖�,1508 +150821,浜斿師鍘�,1508 +150822,纾村彛鍘�,1508 +150823,涔屾媺鐗瑰墠鏃�,1508 +150824,涔屾媺鐗逛腑鏃�,1508 +150825,涔屾媺鐗瑰悗鏃�,1508 +150826,鏉敠鍚庢棗,1508 +1509,涔屽叞瀵熷竷甯�,15 +150902,闆嗗畞鍖�,1509 +150921,鍗撹祫鍘�,1509 +150922,鍖栧痉鍘�,1509 +150923,鍟嗛兘鍘�,1509 +150924,鍏村拰鍘�,1509 +150925,鍑夊煄鍘�,1509 +150926,瀵熷搱灏斿彸缈煎墠鏃�,1509 +150927,瀵熷搱灏斿彸缈间腑鏃�,1509 +150928,瀵熷搱灏斿彸缈煎悗鏃�,1509 +150929,鍥涘瓙鐜嬫棗,1509 +150981,涓伴晣甯�,1509 +1522,鍏村畨鐩�,15 +152201,涔屽叞娴╃壒甯�,1522 +152202,闃垮皵灞卞競,1522 +152221,绉戝皵娌佸彸缈煎墠鏃�,1522 +152222,绉戝皵娌佸彸缈间腑鏃�,1522 +152223,鎵庤祲鐗规棗,1522 +152224,绐佹硥鍘�,1522 +1525,閿℃灄閮嫆鐩�,15 +152501,浜岃繛娴╃壒甯�,1525 +152502,閿℃灄娴╃壒甯�,1525 +152522,闃垮反鍢庢棗,1525 +152523,鑻忓凹鐗瑰乏鏃�,1525 +152524,鑻忓凹鐗瑰彸鏃�,1525 +152525,涓滀箤鐝犵﹩娌佹棗,1525 +152526,瑗夸箤鐝犵﹩娌佹棗,1525 +152527,澶粏瀵烘棗,1525 +152528,闀堕粍鏃�,1525 +152529,姝i暥鐧芥棗,1525 +152530,姝h摑鏃�,1525 +152531,澶氫鸡鍘�,1525 +1529,闃挎媺鍠勭洘,15 +152921,闃挎媺鍠勫乏鏃�,1529 +152922,闃挎媺鍠勫彸鏃�,1529 +152923,棰濇祹绾虫棗,1529 +21,杈藉畞鐪�, +2101,娌堥槼甯�,21 +210102,鍜屽钩鍖�,2101 +210103,娌堟渤鍖�,2101 +210104,澶т笢鍖�,2101 +210105,鐨囧鍖�,2101 +210106,閾佽タ鍖�,2101 +210111,鑻忓灞尯,2101 +210112,娴戝崡鍖�,2101 +210113,娌堝寳鏂板尯,2101 +210114,浜庢椽鍖�,2101 +210115,杈戒腑鍖�,2101 +210123,搴峰钩鍘�,2101 +210124,娉曞簱鍘�,2101 +210181,鏂版皯甯�,2101 +2102,澶ц繛甯�,21 +210202,涓北鍖�,2102 +210203,瑗垮矖鍖�,2102 +210204,娌欐渤鍙e尯,2102 +210211,鐢樹簳瀛愬尯,2102 +210212,鏃呴『鍙e尯,2102 +210213,閲戝窞鍖�,2102 +210214,鏅叞搴楀尯,2102 +210224,闀挎捣鍘�,2102 +210281,鐡︽埧搴楀競,2102 +210283,搴勬渤甯�,2102 +2103,闉嶅北甯�,21 +210302,閾佷笢鍖�,2103 +210303,閾佽タ鍖�,2103 +210304,绔嬪北鍖�,2103 +210311,鍗冨北鍖�,2103 +210321,鍙板畨鍘�,2103 +210323,宀博婊℃棌鑷不鍘�,2103 +210381,娴峰煄甯�,2103 +2104,鎶氶『甯�,21 +210402,鏂版姎鍖�,2104 +210403,涓滄床鍖�,2104 +210404,鏈涜姳鍖�,2104 +210411,椤哄煄鍖�,2104 +210421,鎶氶『鍘�,2104 +210422,鏂板婊℃棌鑷不鍘�,2104 +210423,娓呭師婊℃棌鑷不鍘�,2104 +2105,鏈邯甯�,21 +210502,骞冲北鍖�,2105 +210503,婧箹鍖�,2105 +210504,鏄庡北鍖�,2105 +210505,鍗楄姮鍖�,2105 +210521,鏈邯婊℃棌鑷不鍘�,2105 +210522,妗撲粊婊℃棌鑷不鍘�,2105 +2106,涓逛笢甯�,21 +210602,鍏冨疂鍖�,2106 +210603,鎸叴鍖�,2106 +210604,鎸畨鍖�,2106 +210624,瀹界敻婊℃棌鑷不鍘�,2106 +210681,涓滄腐甯�,2106 +210682,鍑ゅ煄甯�,2106 +2107,閿﹀窞甯�,21 +210702,鍙ゅ鍖�,2107 +210703,鍑屾渤鍖�,2107 +210711,澶拰鍖�,2107 +210726,榛戝北鍘�,2107 +210727,涔夊幙,2107 +210781,鍑屾捣甯�,2107 +210782,鍖楅晣甯�,2107 +2108,钀ュ彛甯�,21 +210802,绔欏墠鍖�,2108 +210803,瑗垮競鍖�,2108 +210804,椴呴奔鍦堝尯,2108 +210811,鑰佽竟鍖�,2108 +210881,鐩栧窞甯�,2108 +210882,澶х煶妗ュ競,2108 +2109,闃滄柊甯�,21 +210902,娴峰窞鍖�,2109 +210903,鏂伴偙鍖�,2109 +210904,澶钩鍖�,2109 +210905,娓呮渤闂ㄥ尯,2109 +210911,缁嗘渤鍖�,2109 +210921,闃滄柊钂欏彜鏃忚嚜娌诲幙,2109 +210922,褰版鍘�,2109 +2110,杈介槼甯�,21 +211002,鐧藉鍖�,2110 +211003,鏂囧湥鍖�,2110 +211004,瀹忎紵鍖�,2110 +211005,寮撻暱宀尯,2110 +211011,澶瓙娌冲尯,2110 +211021,杈介槼鍘�,2110 +211081,鐏甯�,2110 +2111,鐩橀敠甯�,21 +211102,鍙屽彴瀛愬尯,2111 +211103,鍏撮殕鍙板尯,2111 +211104,澶ф醇鍖�,2111 +211122,鐩樺北鍘�,2111 +2112,閾佸箔甯�,21 +211202,閾跺窞鍖�,2112 +211204,娓呮渤鍖�,2112 +211221,閾佸箔鍘�,2112 +211223,瑗夸赴鍘�,2112 +211224,鏄屽浘鍘�,2112 +211281,璋冨叺灞卞競,2112 +211282,寮�鍘熷競,2112 +2113,鏈濋槼甯�,21 +211302,鍙屽鍖�,2113 +211303,榫欏煄鍖�,2113 +211321,鏈濋槼鍘�,2113 +211322,寤哄钩鍘�,2113 +211324,鍠�鍠囨瞾宸︾考钂欏彜鏃忚嚜娌诲幙,2113 +211381,鍖楃エ甯�,2113 +211382,鍑屾簮甯�,2113 +2114,钁姦宀涘競,21 +211402,杩炲北鍖�,2114 +211403,榫欐腐鍖�,2114 +211404,鍗楃エ鍖�,2114 +211421,缁ヤ腑鍘�,2114 +211422,寤烘槍鍘�,2114 +211481,鍏村煄甯�,2114 +22,鍚夋灄鐪�, +2201,闀挎槬甯�,22 +220102,鍗楀叧鍖�,2201 +220103,瀹藉煄鍖�,2201 +220104,鏈濋槼鍖�,2201 +220105,浜岄亾鍖�,2201 +220106,缁垮洯鍖�,2201 +220112,鍙岄槼鍖�,2201 +220113,涔濆彴鍖�,2201 +220122,鍐滃畨鍘�,2201 +220182,姒嗘爲甯�,2201 +220183,寰锋儬甯�,2201 +2202,鍚夋灄甯�,22 +220202,鏄岄倯鍖�,2202 +220203,榫欐江鍖�,2202 +220204,鑸硅惀鍖�,2202 +220211,涓版弧鍖�,2202 +220221,姘稿悏鍘�,2202 +220281,铔熸渤甯�,2202 +220282,妗︾敻甯�,2202 +220283,鑸掑叞甯�,2202 +220284,纾愮煶甯�,2202 +2203,鍥涘钩甯�,22 +220302,閾佽タ鍖�,2203 +220303,閾佷笢鍖�,2203 +220322,姊ㄦ爲鍘�,2203 +220323,浼婇�氭弧鏃忚嚜娌诲幙,2203 +220381,鍏富宀競,2203 +220382,鍙岃窘甯�,2203 +2204,杈芥簮甯�,22 +220402,榫欏北鍖�,2204 +220403,瑗垮畨鍖�,2204 +220421,涓滀赴鍘�,2204 +220422,涓滆窘鍘�,2204 +2205,閫氬寲甯�,22 +220502,涓滄槍鍖�,2205 +220503,浜岄亾姹熷尯,2205 +220521,閫氬寲鍘�,2205 +220523,杈夊崡鍘�,2205 +220524,鏌虫渤鍘�,2205 +220581,姊呮渤鍙e競,2205 +220582,闆嗗畨甯�,2205 +2206,鐧藉北甯�,22 +220602,娴戞睙鍖�,2206 +220605,姹熸簮鍖�,2206 +220621,鎶氭澗鍘�,2206 +220622,闈栧畤鍘�,2206 +220623,闀跨櫧鏈濋矞鏃忚嚜娌诲幙,2206 +220681,涓存睙甯�,2206 +2207,鏉惧師甯�,22 +220702,瀹佹睙鍖�,2207 +220721,鍓嶉儹灏旂綏鏂挋鍙ゆ棌鑷不鍘�,2207 +220722,闀垮箔鍘�,2207 +220723,涔惧畨鍘�,2207 +220781,鎵朵綑甯�,2207 +2208,鐧藉煄甯�,22 +220802,娲寳鍖�,2208 +220821,闀囪祲鍘�,2208 +220822,閫氭鍘�,2208 +220881,娲崡甯�,2208 +220882,澶у畨甯�,2208 +2224,寤惰竟鏈濋矞鏃忚嚜娌诲窞,22 +222401,寤跺悏甯�,2224 +222402,鍥句滑甯�,2224 +222403,鏁﹀寲甯�,2224 +222404,鐝叉槬甯�,2224 +222405,榫欎簳甯�,2224 +222406,鍜岄緳甯�,2224 +222424,姹竻鍘�,2224 +222426,瀹夊浘鍘�,2224 +23,榛戦緳姹熺渷, +2301,鍝堝皵婊ㄥ競,23 +230102,閬撻噷鍖�,2301 +230103,鍗楀矖鍖�,2301 +230104,閬撳鍖�,2301 +230108,骞虫埧鍖�,2301 +230109,鏉惧寳鍖�,2301 +230110,棣欏潑鍖�,2301 +230111,鍛煎叞鍖�,2301 +230112,闃垮煄鍖�,2301 +230113,鍙屽煄鍖�,2301 +230123,渚濆叞鍘�,2301 +230124,鏂规鍘�,2301 +230125,瀹惧幙,2301 +230126,宸村溅鍘�,2301 +230127,鏈ㄥ叞鍘�,2301 +230128,閫氭渤鍘�,2301 +230129,寤跺鍘�,2301 +230183,灏氬織甯�,2301 +230184,浜斿父甯�,2301 +2302,榻愰綈鍝堝皵甯�,23 +230202,榫欐矙鍖�,2302 +230203,寤哄崕鍖�,2302 +230204,閾侀攱鍖�,2302 +230205,鏄傛槀婧尯,2302 +230206,瀵屾媺灏斿熀鍖�,2302 +230207,纰惧瓙灞卞尯,2302 +230208,姊呴噷鏂揪鏂″皵鏃忓尯,2302 +230221,榫欐睙鍘�,2302 +230223,渚濆畨鍘�,2302 +230224,娉版潵鍘�,2302 +230225,鐢樺崡鍘�,2302 +230227,瀵岃鍘�,2302 +230229,鍏嬪北鍘�,2302 +230230,鍏嬩笢鍘�,2302 +230231,鎷滄硥鍘�,2302 +230281,璁锋渤甯�,2302 +2303,楦¤タ甯�,23 +230302,楦″啝鍖�,2303 +230303,鎭掑北鍖�,2303 +230304,婊撮亾鍖�,2303 +230305,姊ㄦ爲鍖�,2303 +230306,鍩庡瓙娌冲尯,2303 +230307,楹诲北鍖�,2303 +230321,楦′笢鍘�,2303 +230381,铏庢灄甯�,2303 +230382,瀵嗗北甯�,2303 +2304,楣ゅ矖甯�,23 +230402,鍚戦槼鍖�,2304 +230403,宸ュ啘鍖�,2304 +230404,鍗楀北鍖�,2304 +230405,鍏村畨鍖�,2304 +230406,涓滃北鍖�,2304 +230407,鍏村北鍖�,2304 +230421,钀濆寳鍘�,2304 +230422,缁ユ花鍘�,2304 +2305,鍙岄腑灞卞競,23 +230502,灏栧北鍖�,2305 +230503,宀笢鍖�,2305 +230505,鍥涙柟鍙板尯,2305 +230506,瀹濆北鍖�,2305 +230521,闆嗚搐鍘�,2305 +230522,鍙嬭皧鍘�,2305 +230523,瀹濇竻鍘�,2305 +230524,楗舵渤鍘�,2305 +2306,澶у簡甯�,23 +230602,钀ㄥ皵鍥惧尯,2306 +230603,榫欏嚖鍖�,2306 +230604,璁╄儭璺尯,2306 +230605,绾㈠矖鍖�,2306 +230606,澶у悓鍖�,2306 +230621,鑲囧窞鍘�,2306 +230622,鑲囨簮鍘�,2306 +230623,鏋楃敻鍘�,2306 +230624,鏉滃皵浼壒钂欏彜鏃忚嚜娌诲幙,2306 +2307,浼婃槬甯�,23 +230702,浼婃槬鍖�,2307 +230703,鍗楀矓鍖�,2307 +230704,鍙嬪ソ鍖�,2307 +230705,瑗挎灄鍖�,2307 +230706,缈犲肠鍖�,2307 +230707,鏂伴潚鍖�,2307 +230708,缇庢邯鍖�,2307 +230709,閲戝北灞尯,2307 +230710,浜旇惀鍖�,2307 +230711,涔岄┈娌冲尯,2307 +230712,姹ゆ椇娌冲尯,2307 +230713,甯﹀箔鍖�,2307 +230714,涔屼紛宀尯,2307 +230715,绾㈡槦鍖�,2307 +230716,涓婄敇宀尯,2307 +230722,鍢夎崼鍘�,2307 +230781,閾佸姏甯�,2307 +2308,浣虫湪鏂競,23 +230803,鍚戦槼鍖�,2308 +230804,鍓嶈繘鍖�,2308 +230805,涓滈鍖�,2308 +230811,閮婂尯,2308 +230822,妗﹀崡鍘�,2308 +230826,妗﹀窛鍘�,2308 +230828,姹ゅ師鍘�,2308 +230881,鍚屾睙甯�,2308 +230882,瀵岄敠甯�,2308 +230883,鎶氳繙甯�,2308 +2309,涓冨彴娌冲競,23 +230902,鏂板叴鍖�,2309 +230903,妗冨北鍖�,2309 +230904,鑼勫瓙娌冲尯,2309 +230921,鍕冨埄鍘�,2309 +2310,鐗′腹姹熷競,23 +231002,涓滃畨鍖�,2310 +231003,闃虫槑鍖�,2310 +231004,鐖辨皯鍖�,2310 +231005,瑗垮畨鍖�,2310 +231025,鏋楀彛鍘�,2310 +231081,缁ヨ姮娌冲競,2310 +231083,娴锋灄甯�,2310 +231084,瀹佸畨甯�,2310 +231085,绌嗘1甯�,2310 +231086,涓滃畞甯�,2310 +2311,榛戞渤甯�,23 +231102,鐖辫緣鍖�,2311 +231121,瀚╂睙鍘�,2311 +231123,閫婂厠鍘�,2311 +231124,瀛欏惔鍘�,2311 +231181,鍖楀畨甯�,2311 +231182,浜斿ぇ杩炴睜甯�,2311 +2312,缁ュ寲甯�,23 +231202,鍖楁灄鍖�,2312 +231221,鏈涘鍘�,2312 +231222,鍏拌タ鍘�,2312 +231223,闈掑唸鍘�,2312 +231224,搴嗗畨鍘�,2312 +231225,鏄庢按鍘�,2312 +231226,缁ユ1鍘�,2312 +231281,瀹夎揪甯�,2312 +231282,鑲囦笢甯�,2312 +231283,娴蜂鸡甯�,2312 +2327,澶у叴瀹夊箔鍦板尯,23 +232701,婕犳渤甯�,2327 +232721,鍛肩帥鍘�,2327 +232722,濉旀渤鍘�,2327 +31,涓婃捣甯�, +310101,榛勬郸鍖�,31 +310104,寰愭眹鍖�,31 +310105,闀垮畞鍖�,31 +310106,闈欏畨鍖�,31 +310107,鏅檧鍖�,31 +310109,铏瑰彛鍖�,31 +310110,鏉ㄦ郸鍖�,31 +310112,闂佃鍖�,31 +310113,瀹濆北鍖�,31 +310114,鍢夊畾鍖�,31 +310115,娴︿笢鏂板尯,31 +310116,閲戝北鍖�,31 +310117,鏉炬睙鍖�,31 +310118,闈掓郸鍖�,31 +310120,濂夎搐鍖�,31 +310151,宕囨槑鍖�,31 +32,姹熻嫃鐪�, +3201,鍗椾含甯�,32 +320102,鐜勬鍖�,3201 +320104,绉︽樊鍖�,3201 +320105,寤洪偤鍖�,3201 +320106,榧撴ゼ鍖�,3201 +320111,娴﹀彛鍖�,3201 +320113,鏍栭湠鍖�,3201 +320114,闆ㄨ姳鍙板尯,3201 +320115,姹熷畞鍖�,3201 +320116,鍏悎鍖�,3201 +320117,婧ф按鍖�,3201 +320118,楂樻烦鍖�,3201 +3202,鏃犻敗甯�,32 +320205,閿″北鍖�,3202 +320206,鎯犲北鍖�,3202 +320211,婊ㄦ箹鍖�,3202 +320213,姊佹邯鍖�,3202 +320214,鏂板惔鍖�,3202 +320281,姹熼槾甯�,3202 +320282,瀹滃叴甯�,3202 +3203,寰愬窞甯�,32 +320302,榧撴ゼ鍖�,3203 +320303,浜戦緳鍖�,3203 +320305,璐炬豹鍖�,3203 +320311,娉夊北鍖�,3203 +320312,閾滃北鍖�,3203 +320321,涓板幙,3203 +320322,娌涘幙,3203 +320324,鐫㈠畞鍘�,3203 +320381,鏂版矀甯�,3203 +320382,閭冲窞甯�,3203 +3204,甯稿窞甯�,32 +320402,澶╁畞鍖�,3204 +320404,閽熸ゼ鍖�,3204 +320411,鏂板寳鍖�,3204 +320412,姝﹁繘鍖�,3204 +320413,閲戝潧鍖�,3204 +320481,婧ч槼甯�,3204 +3205,鑻忓窞甯�,32 +320505,铏庝笜鍖�,3205 +320506,鍚翠腑鍖�,3205 +320507,鐩稿煄鍖�,3205 +320508,濮戣嫃鍖�,3205 +320509,鍚存睙鍖�,3205 +320581,甯哥啛甯�,3205 +320582,寮犲娓競,3205 +320583,鏄嗗北甯�,3205 +320585,澶粨甯�,3205 +3206,鍗楅�氬競,32 +320602,宕囧窛鍖�,3206 +320611,娓椄鍖�,3206 +320612,閫氬窞鍖�,3206 +320623,濡備笢鍘�,3206 +320681,鍚笢甯�,3206 +320682,濡傜殝甯�,3206 +320684,娴烽棬甯�,3206 +320685,娴峰畨甯�,3206 +3207,杩炰簯娓競,32 +320703,杩炰簯鍖�,3207 +320706,娴峰窞鍖�,3207 +320707,璧f鍖�,3207 +320722,涓滄捣鍘�,3207 +320723,鐏屼簯鍘�,3207 +320724,鐏屽崡鍘�,3207 +3208,娣畨甯�,32 +320803,娣畨鍖�,3208 +320804,娣槾鍖�,3208 +320812,娓呮睙娴﹀尯,3208 +320813,娲辰鍖�,3208 +320826,娑熸按鍘�,3208 +320830,鐩辩湙鍘�,3208 +320831,閲戞箹鍘�,3208 +3209,鐩愬煄甯�,32 +320902,浜箹鍖�,3209 +320903,鐩愰兘鍖�,3209 +320904,澶т赴鍖�,3209 +320921,鍝嶆按鍘�,3209 +320922,婊ㄦ捣鍘�,3209 +320923,闃滃畞鍘�,3209 +320924,灏勯槼鍘�,3209 +320925,寤烘箹鍘�,3209 +320981,涓滃彴甯�,3209 +3210,鎵窞甯�,32 +321002,骞块櫟鍖�,3210 +321003,閭楁睙鍖�,3210 +321012,姹熼兘鍖�,3210 +321023,瀹濆簲鍘�,3210 +321081,浠緛甯�,3210 +321084,楂橀偖甯�,3210 +3211,闀囨睙甯�,32 +321102,浜彛鍖�,3211 +321111,娑﹀窞鍖�,3211 +321112,涓瑰緬鍖�,3211 +321181,涓归槼甯�,3211 +321182,鎵腑甯�,3211 +321183,鍙ュ甯�,3211 +3212,娉板窞甯�,32 +321202,娴烽櫟鍖�,3212 +321203,楂樻腐鍖�,3212 +321204,濮滃牥鍖�,3212 +321281,鍏村寲甯�,3212 +321282,闈栨睙甯�,3212 +321283,娉板叴甯�,3212 +3213,瀹胯縼甯�,32 +321302,瀹垮煄鍖�,3213 +321311,瀹胯鲍鍖�,3213 +321322,娌槼鍘�,3213 +321323,娉楅槼鍘�,3213 +321324,娉楁椽鍘�,3213 +33,娴欐睙鐪�, +3301,鏉窞甯�,33 +330102,涓婂煄鍖�,3301 +330103,涓嬪煄鍖�,3301 +330104,姹熷共鍖�,3301 +330105,鎷卞鍖�,3301 +330106,瑗挎箹鍖�,3301 +330108,婊ㄦ睙鍖�,3301 +330109,钀у北鍖�,3301 +330110,浣欐澀鍖�,3301 +330111,瀵岄槼鍖�,3301 +330112,涓村畨鍖�,3301 +330122,妗愬簮鍘�,3301 +330127,娣冲畨鍘�,3301 +330182,寤哄痉甯�,3301 +3302,瀹佹尝甯�,33 +330203,娴锋洐鍖�,3302 +330205,姹熷寳鍖�,3302 +330206,鍖椾粦鍖�,3302 +330211,闀囨捣鍖�,3302 +330212,閯炲窞鍖�,3302 +330213,濂夊寲鍖�,3302 +330225,璞″北鍘�,3302 +330226,瀹佹捣鍘�,3302 +330281,浣欏甯�,3302 +330282,鎱堟邯甯�,3302 +3303,娓╁窞甯�,33 +330302,楣垮煄鍖�,3303 +330303,榫欐咕鍖�,3303 +330304,鐡捣鍖�,3303 +330305,娲炲ご鍖�,3303 +330324,姘稿槈鍘�,3303 +330326,骞抽槼鍘�,3303 +330327,鑻嶅崡鍘�,3303 +330328,鏂囨垚鍘�,3303 +330329,娉伴『鍘�,3303 +330381,鐟炲畨甯�,3303 +330382,涔愭竻甯�,3303 +3304,鍢夊叴甯�,33 +330402,鍗楁箹鍖�,3304 +330411,绉�娲插尯,3304 +330421,鍢夊杽鍘�,3304 +330424,娴风洂鍘�,3304 +330481,娴峰畞甯�,3304 +330482,骞虫箹甯�,3304 +330483,妗愪埂甯�,3304 +3305,婀栧窞甯�,33 +330502,鍚村叴鍖�,3305 +330503,鍗楁禂鍖�,3305 +330521,寰锋竻鍘�,3305 +330522,闀垮叴鍘�,3305 +330523,瀹夊悏鍘�,3305 +3306,缁嶅叴甯�,33 +330602,瓒婂煄鍖�,3306 +330603,鏌ˉ鍖�,3306 +330604,涓婅櫈鍖�,3306 +330624,鏂版槍鍘�,3306 +330681,璇告毃甯�,3306 +330683,宓婂窞甯�,3306 +3307,閲戝崕甯�,33 +330702,濠哄煄鍖�,3307 +330703,閲戜笢鍖�,3307 +330723,姝︿箟鍘�,3307 +330726,娴︽睙鍘�,3307 +330727,纾愬畨鍘�,3307 +330781,鍏版邯甯�,3307 +330782,涔変箤甯�,3307 +330783,涓滈槼甯�,3307 +330784,姘稿悍甯�,3307 +3308,琛㈠窞甯�,33 +330802,鏌煄鍖�,3308 +330803,琛㈡睙鍖�,3308 +330822,甯稿北鍘�,3308 +330824,寮�鍖栧幙,3308 +330825,榫欐父鍘�,3308 +330881,姹熷北甯�,3308 +3309,鑸熷北甯�,33 +330902,瀹氭捣鍖�,3309 +330903,鏅檧鍖�,3309 +330921,宀卞北鍘�,3309 +330922,宓婃硹鍘�,3309 +3310,鍙板窞甯�,33 +331002,妞掓睙鍖�,3310 +331003,榛勫博鍖�,3310 +331004,璺ˉ鍖�,3310 +331022,涓夐棬鍘�,3310 +331023,澶╁彴鍘�,3310 +331024,浠欏眳鍘�,3310 +331081,娓╁箔甯�,3310 +331082,涓存捣甯�,3310 +331083,鐜夌幆甯�,3310 +3311,涓芥按甯�,33 +331102,鑾查兘鍖�,3311 +331121,闈掔敯鍘�,3311 +331122,缂欎簯鍘�,3311 +331123,閬傛槍鍘�,3311 +331124,鏉鹃槼鍘�,3311 +331125,浜戝拰鍘�,3311 +331126,搴嗗厓鍘�,3311 +331127,鏅畞鐣叉棌鑷不鍘�,3311 +331181,榫欐硥甯�,3311 +34,瀹夊窘鐪�, +3401,鍚堣偉甯�,34 +340102,鐟舵捣鍖�,3401 +340103,搴愰槼鍖�,3401 +340104,铚�灞卞尯,3401 +340111,鍖呮渤鍖�,3401 +340121,闀夸赴鍘�,3401 +340122,鑲ヤ笢鍘�,3401 +340123,鑲ヨタ鍘�,3401 +340124,搴愭睙鍘�,3401 +340181,宸㈡箹甯�,3401 +3402,鑺滄箹甯�,34 +340202,闀滄箹鍖�,3402 +340203,寮嬫睙鍖�,3402 +340207,楦犳睙鍖�,3402 +340208,涓夊北鍖�,3402 +340221,鑺滄箹鍘�,3402 +340222,绻佹槍鍘�,3402 +340223,鍗楅櫟鍘�,3402 +340225,鏃犱负鍘�,3402 +3403,铓屽煚甯�,34 +340302,榫欏瓙婀栧尯,3403 +340303,铓屽北鍖�,3403 +340304,绂逛細鍖�,3403 +340311,娣笂鍖�,3403 +340321,鎬�杩滃幙,3403 +340322,浜旀渤鍘�,3403 +340323,鍥洪晣鍘�,3403 +3404,娣崡甯�,34 +340402,澶ч�氬尯,3404 +340403,鐢板搴靛尯,3404 +340404,璋㈠闆嗗尯,3404 +340405,鍏叕灞卞尯,3404 +340406,娼橀泦鍖�,3404 +340421,鍑ゅ彴鍘�,3404 +340422,瀵垮幙,3404 +3405,椹瀺灞卞競,34 +340503,鑺卞北鍖�,3405 +340504,闆ㄥ北鍖�,3405 +340506,鍗氭湜鍖�,3405 +340521,褰撴秱鍘�,3405 +340522,鍚北鍘�,3405 +340523,鍜屽幙,3405 +3406,娣寳甯�,34 +340602,鏉滈泦鍖�,3406 +340603,鐩稿北鍖�,3406 +340604,鐑堝北鍖�,3406 +340621,婵夋邯鍘�,3406 +3407,閾滈櫟甯�,34 +340705,閾滃畼鍖�,3407 +340706,涔夊畨鍖�,3407 +340711,閮婂尯,3407 +340722,鏋為槼鍘�,3407 +3408,瀹夊簡甯�,34 +340802,杩庢睙鍖�,3408 +340803,澶ц鍖�,3408 +340811,瀹滅鍖�,3408 +340822,鎬�瀹佸幙,3408 +340825,澶箹鍘�,3408 +340826,瀹挎澗鍘�,3408 +340827,鏈涙睙鍘�,3408 +340828,宀宠タ鍘�,3408 +340881,妗愬煄甯�,3408 +340882,娼滃北甯�,3408 +3410,榛勫北甯�,34 +341002,灞邯鍖�,3410 +341003,榛勫北鍖�,3410 +341004,寰藉窞鍖�,3410 +341021,姝欏幙,3410 +341022,浼戝畞鍘�,3410 +341023,榛熷幙,3410 +341024,绁侀棬鍘�,3410 +3411,婊佸窞甯�,34 +341102,鐞呯悐鍖�,3411 +341103,鍗楄隘鍖�,3411 +341122,鏉ュ畨鍘�,3411 +341124,鍏ㄦ鍘�,3411 +341125,瀹氳繙鍘�,3411 +341126,鍑ら槼鍘�,3411 +341181,澶╅暱甯�,3411 +341182,鏄庡厜甯�,3411 +3412,闃滈槼甯�,34 +341202,棰嶅窞鍖�,3412 +341203,棰嶄笢鍖�,3412 +341204,棰嶆硥鍖�,3412 +341221,涓存硥鍘�,3412 +341222,澶拰鍘�,3412 +341225,闃滃崡鍘�,3412 +341226,棰嶄笂鍘�,3412 +341282,鐣岄甯�,3412 +3413,瀹垮窞甯�,34 +341302,鍩囨ˉ鍖�,3413 +341321,鐮�灞卞幙,3413 +341322,钀у幙,3413 +341323,鐏电挧鍘�,3413 +341324,娉楀幙,3413 +3415,鍏畨甯�,34 +341502,閲戝畨鍖�,3415 +341503,瑁曞畨鍖�,3415 +341504,鍙堕泦鍖�,3415 +341522,闇嶉偙鍘�,3415 +341523,鑸掑煄鍘�,3415 +341524,閲戝鍘�,3415 +341525,闇嶅北鍘�,3415 +3416,浜冲窞甯�,34 +341602,璋煄鍖�,3416 +341621,娑¢槼鍘�,3416 +341622,钂欏煄鍘�,3416 +341623,鍒╄緵鍘�,3416 +3417,姹犲窞甯�,34 +341702,璐垫睜鍖�,3417 +341721,涓滆嚦鍘�,3417 +341722,鐭冲彴鍘�,3417 +341723,闈掗槼鍘�,3417 +3418,瀹e煄甯�,34 +341802,瀹e窞鍖�,3418 +341821,閮庢邯鍘�,3418 +341822,骞垮痉鍘�,3418 +341823,娉惧幙,3418 +341824,缁╂邯鍘�,3418 +341825,鏃屽痉鍘�,3418 +341881,瀹佸浗甯�,3418 +35,绂忓缓鐪�, +3501,绂忓窞甯�,35 +350102,榧撴ゼ鍖�,3501 +350103,鍙版睙鍖�,3501 +350104,浠撳北鍖�,3501 +350105,椹熬鍖�,3501 +350111,鏅嬪畨鍖�,3501 +350112,闀夸箰鍖�,3501 +350121,闂戒警鍘�,3501 +350122,杩炴睙鍘�,3501 +350123,缃楁簮鍘�,3501 +350124,闂芥竻鍘�,3501 +350125,姘告嘲鍘�,3501 +350128,骞虫江鍘�,3501 +350181,绂忔竻甯�,3501 +3502,鍘﹂棬甯�,35 +350203,鎬濇槑鍖�,3502 +350205,娴锋钵鍖�,3502 +350206,婀栭噷鍖�,3502 +350211,闆嗙編鍖�,3502 +350212,鍚屽畨鍖�,3502 +350213,缈斿畨鍖�,3502 +3503,鑾嗙敯甯�,35 +350302,鍩庡帰鍖�,3503 +350303,娑垫睙鍖�,3503 +350304,鑽斿煄鍖�,3503 +350305,绉�灞垮尯,3503 +350322,浠欐父鍘�,3503 +3504,涓夋槑甯�,35 +350402,姊呭垪鍖�,3504 +350403,涓夊厓鍖�,3504 +350421,鏄庢邯鍘�,3504 +350423,娓呮祦鍘�,3504 +350424,瀹佸寲鍘�,3504 +350425,澶х敯鍘�,3504 +350426,灏ゆ邯鍘�,3504 +350427,娌欏幙,3504 +350428,灏嗕箰鍘�,3504 +350429,娉板畞鍘�,3504 +350430,寤哄畞鍘�,3504 +350481,姘稿畨甯�,3504 +3505,娉夊窞甯�,35 +350502,椴ゅ煄鍖�,3505 +350503,涓版辰鍖�,3505 +350504,娲涙睙鍖�,3505 +350505,娉夋腐鍖�,3505 +350521,鎯犲畨鍘�,3505 +350524,瀹夋邯鍘�,3505 +350525,姘告槬鍘�,3505 +350526,寰峰寲鍘�,3505 +350527,閲戦棬鍘�,3505 +350581,鐭崇嫯甯�,3505 +350582,鏅嬫睙甯�,3505 +350583,鍗楀畨甯�,3505 +3506,婕冲窞甯�,35 +350602,鑺楀煄鍖�,3506 +350603,榫欐枃鍖�,3506 +350622,浜戦渼鍘�,3506 +350623,婕虫郸鍘�,3506 +350624,璇忓畨鍘�,3506 +350625,闀挎嘲鍘�,3506 +350626,涓滃北鍘�,3506 +350627,鍗楅潠鍘�,3506 +350628,骞冲拰鍘�,3506 +350629,鍗庡畨鍘�,3506 +350681,榫欐捣甯�,3506 +3507,鍗楀钩甯�,35 +350702,寤跺钩鍖�,3507 +350703,寤洪槼鍖�,3507 +350721,椤烘槍鍘�,3507 +350722,娴﹀煄鍘�,3507 +350723,鍏夋辰鍘�,3507 +350724,鏉炬邯鍘�,3507 +350725,鏀垮拰鍘�,3507 +350781,閭垫甯�,3507 +350782,姝﹀し灞卞競,3507 +350783,寤虹摨甯�,3507 +3508,榫欏博甯�,35 +350802,鏂扮綏鍖�,3508 +350803,姘稿畾鍖�,3508 +350821,闀挎眬鍘�,3508 +350823,涓婃澀鍘�,3508 +350824,姝﹀钩鍘�,3508 +350825,杩炲煄鍘�,3508 +350881,婕冲钩甯�,3508 +3509,瀹佸痉甯�,35 +350902,钑夊煄鍖�,3509 +350921,闇炴郸鍘�,3509 +350922,鍙ょ敯鍘�,3509 +350923,灞忓崡鍘�,3509 +350924,瀵垮畞鍘�,3509 +350925,鍛ㄥ畞鍘�,3509 +350926,鏌樿崳鍘�,3509 +350981,绂忓畨甯�,3509 +350982,绂忛紟甯�,3509 +36,姹熻タ鐪�, +3601,鍗楁槍甯�,36 +360102,涓滄箹鍖�,3601 +360103,瑗挎箹鍖�,3601 +360104,闈掍簯璋卞尯,3601 +360105,婀鹃噷鍖�,3601 +360111,闈掑北婀栧尯,3601 +360112,鏂板缓鍖�,3601 +360121,鍗楁槍鍘�,3601 +360123,瀹変箟鍘�,3601 +360124,杩涜搐鍘�,3601 +3602,鏅痉闀囧競,36 +360202,鏄屾睙鍖�,3602 +360203,鐝犲北鍖�,3602 +360222,娴鍘�,3602 +360281,涔愬钩甯�,3602 +3603,钀嶄埂甯�,36 +360302,瀹夋簮鍖�,3603 +360313,婀樹笢鍖�,3603 +360321,鑾茶姳鍘�,3603 +360322,涓婃牀鍘�,3603 +360323,鑺︽邯鍘�,3603 +3604,涔濇睙甯�,36 +360402,婵傛邯鍖�,3604 +360403,娴旈槼鍖�,3604 +360404,鏌存鍖�,3604 +360423,姝﹀畞鍘�,3604 +360424,淇按鍘�,3604 +360425,姘镐慨鍘�,3604 +360426,寰峰畨鍘�,3604 +360428,閮芥槍鍘�,3604 +360429,婀栧彛鍘�,3604 +360430,褰辰鍘�,3604 +360481,鐟炴槍甯�,3604 +360482,鍏遍潚鍩庡競,3604 +360483,搴愬北甯�,3604 +3605,鏂颁綑甯�,36 +360502,娓濇按鍖�,3605 +360521,鍒嗗疁鍘�,3605 +3606,楣版江甯�,36 +360602,鏈堟箹鍖�,3606 +360603,浣欐睙鍖�,3606 +360681,璐垫邯甯�,3606 +3607,璧e窞甯�,36 +360702,绔犺础鍖�,3607 +360703,鍗楀悍鍖�,3607 +360704,璧e幙鍖�,3607 +360722,淇′赴鍘�,3607 +360723,澶т綑鍘�,3607 +360724,涓婄姽鍘�,3607 +360725,宕囦箟鍘�,3607 +360726,瀹夎繙鍘�,3607 +360727,榫欏崡鍘�,3607 +360728,瀹氬崡鍘�,3607 +360729,鍏ㄥ崡鍘�,3607 +360730,瀹侀兘鍘�,3607 +360731,浜庨兘鍘�,3607 +360732,鍏村浗鍘�,3607 +360733,浼氭槍鍘�,3607 +360734,瀵讳箤鍘�,3607 +360735,鐭冲煄鍘�,3607 +360781,鐟為噾甯�,3607 +3608,鍚夊畨甯�,36 +360802,鍚夊窞鍖�,3608 +360803,闈掑師鍖�,3608 +360821,鍚夊畨鍘�,3608 +360822,鍚夋按鍘�,3608 +360823,宄℃睙鍘�,3608 +360824,鏂板共鍘�,3608 +360825,姘镐赴鍘�,3608 +360826,娉板拰鍘�,3608 +360827,閬傚窛鍘�,3608 +360828,涓囧畨鍘�,3608 +360829,瀹夌鍘�,3608 +360830,姘告柊鍘�,3608 +360881,浜曞唸灞卞競,3608 +3609,瀹滄槬甯�,36 +360902,琚佸窞鍖�,3609 +360921,濂夋柊鍘�,3609 +360922,涓囪浇鍘�,3609 +360923,涓婇珮鍘�,3609 +360924,瀹滀赴鍘�,3609 +360925,闈栧畨鍘�,3609 +360926,閾滈紦鍘�,3609 +360981,涓板煄甯�,3609 +360982,妯熸爲甯�,3609 +360983,楂樺畨甯�,3609 +3610,鎶氬窞甯�,36 +361002,涓村窛鍖�,3610 +361003,涓滀埂鍖�,3610 +361021,鍗楀煄鍘�,3610 +361022,榛庡窛鍘�,3610 +361023,鍗椾赴鍘�,3610 +361024,宕囦粊鍘�,3610 +361025,涔愬畨鍘�,3610 +361026,瀹滈粍鍘�,3610 +361027,閲戞邯鍘�,3610 +361028,璧勬邯鍘�,3610 +361030,骞挎槍鍘�,3610 +3611,涓婇ザ甯�,36 +361102,淇″窞鍖�,3611 +361103,骞夸赴鍖�,3611 +361121,涓婇ザ鍘�,3611 +361123,鐜夊北鍘�,3611 +361124,閾呭北鍘�,3611 +361125,妯嘲鍘�,3611 +361126,寮嬮槼鍘�,3611 +361127,浣欏共鍘�,3611 +361128,閯遍槼鍘�,3611 +361129,涓囧勾鍘�,3611 +361130,濠烘簮鍘�,3611 +361181,寰峰叴甯�,3611 +37,灞变笢鐪�, +3701,娴庡崡甯�,37 +370102,鍘嗕笅鍖�,3701 +370103,甯備腑鍖�,3701 +370104,妲愯崼鍖�,3701 +370105,澶╂ˉ鍖�,3701 +370112,鍘嗗煄鍖�,3701 +370113,闀挎竻鍖�,3701 +370114,绔犱笜鍖�,3701 +370115,娴庨槼鍖�,3701 +370124,骞抽槾鍘�,3701 +370126,鍟嗘渤鍘�,3701 +3702,闈掑矝甯�,37 +370202,甯傚崡鍖�,3702 +370203,甯傚寳鍖�,3702 +370211,榛勫矝鍖�,3702 +370212,宕傚北鍖�,3702 +370213,鏉庢钵鍖�,3702 +370214,鍩庨槼鍖�,3702 +370215,鍗冲ⅷ鍖�,3702 +370281,鑳跺窞甯�,3702 +370283,骞冲害甯�,3702 +370285,鑾辫タ甯�,3702 +3703,娣勫崥甯�,37 +370302,娣勫窛鍖�,3703 +370303,寮犲簵鍖�,3703 +370304,鍗氬北鍖�,3703 +370305,涓存穭鍖�,3703 +370306,鍛ㄦ潙鍖�,3703 +370321,妗撳彴鍘�,3703 +370322,楂橀潚鍘�,3703 +370323,娌傛簮鍘�,3703 +3704,鏋e簞甯�,37 +370402,甯備腑鍖�,3704 +370403,钖涘煄鍖�,3704 +370404,宄勫煄鍖�,3704 +370405,鍙板効搴勫尯,3704 +370406,灞变涵鍖�,3704 +370481,婊曞窞甯�,3704 +3705,涓滆惀甯�,37 +370502,涓滆惀鍖�,3705 +370503,娌冲彛鍖�,3705 +370505,鍨﹀埄鍖�,3705 +370522,鍒╂触鍘�,3705 +370523,骞块ザ鍘�,3705 +3706,鐑熷彴甯�,37 +370602,鑺濈綐鍖�,3706 +370611,绂忓北鍖�,3706 +370612,鐗熷钩鍖�,3706 +370613,鑾卞北鍖�,3706 +370634,闀垮矝鍘�,3706 +370681,榫欏彛甯�,3706 +370682,鑾遍槼甯�,3706 +370683,鑾卞窞甯�,3706 +370684,钃幈甯�,3706 +370685,鎷涜繙甯�,3706 +370686,鏍栭湠甯�,3706 +370687,娴烽槼甯�,3706 +3707,娼嶅潑甯�,37 +370702,娼嶅煄鍖�,3707 +370703,瀵掍涵鍖�,3707 +370704,鍧婂瓙鍖�,3707 +370705,濂庢枃鍖�,3707 +370724,涓存湊鍘�,3707 +370725,鏄屼箰鍘�,3707 +370781,闈掑窞甯�,3707 +370782,璇稿煄甯�,3707 +370783,瀵垮厜甯�,3707 +370784,瀹変笜甯�,3707 +370785,楂樺瘑甯�,3707 +370786,鏄岄倯甯�,3707 +3708,娴庡畞甯�,37 +370811,浠诲煄鍖�,3708 +370812,鍏栧窞鍖�,3708 +370826,寰北鍘�,3708 +370827,楸煎彴鍘�,3708 +370828,閲戜埂鍘�,3708 +370829,鍢夌ゥ鍘�,3708 +370830,姹朵笂鍘�,3708 +370831,娉楁按鍘�,3708 +370832,姊佸北鍘�,3708 +370881,鏇查槣甯�,3708 +370883,閭瑰煄甯�,3708 +3709,娉板畨甯�,37 +370902,娉板北鍖�,3709 +370911,宀卞渤鍖�,3709 +370921,瀹侀槼鍘�,3709 +370923,涓滃钩鍘�,3709 +370982,鏂版嘲甯�,3709 +370983,鑲ュ煄甯�,3709 +3710,濞佹捣甯�,37 +371002,鐜繝鍖�,3710 +371003,鏂囩櫥鍖�,3710 +371082,鑽f垚甯�,3710 +371083,涔冲北甯�,3710 +3711,鏃ョ収甯�,37 +371102,涓滄腐鍖�,3711 +371103,宀氬北鍖�,3711 +371121,浜旇幉鍘�,3711 +371122,鑾掑幙,3711 +3712,鑾辫姕甯�,37 +371202,鑾卞煄鍖�,3712 +371203,閽㈠煄鍖�,3712 +3713,涓存矀甯�,37 +371302,鍏板北鍖�,3713 +371311,缃楀簞鍖�,3713 +371312,娌充笢鍖�,3713 +371321,娌傚崡鍘�,3713 +371322,閮煄鍘�,3713 +371323,娌傛按鍘�,3713 +371324,鍏伴櫟鍘�,3713 +371325,璐瑰幙,3713 +371326,骞抽倯鍘�,3713 +371327,鑾掑崡鍘�,3713 +371328,钂欓槾鍘�,3713 +371329,涓存箔鍘�,3713 +3714,寰峰窞甯�,37 +371402,寰峰煄鍖�,3714 +371403,闄靛煄鍖�,3714 +371422,瀹佹触鍘�,3714 +371423,搴嗕簯鍘�,3714 +371424,涓撮倯鍘�,3714 +371425,榻愭渤鍘�,3714 +371426,骞冲師鍘�,3714 +371427,澶忔触鍘�,3714 +371428,姝﹀煄鍘�,3714 +371481,涔愰櫟甯�,3714 +371482,绂瑰煄甯�,3714 +3715,鑱婂煄甯�,37 +371502,涓滄槍搴滃尯,3715 +371521,闃宠胺鍘�,3715 +371522,鑾樺幙,3715 +371523,鑼屽钩鍘�,3715 +371524,涓滈樋鍘�,3715 +371525,鍐犲幙,3715 +371526,楂樺攼鍘�,3715 +371581,涓存竻甯�,3715 +3716,婊ㄥ窞甯�,37 +371602,婊ㄥ煄鍖�,3716 +371603,娌惧寲鍖�,3716 +371621,鎯犳皯鍘�,3716 +371622,闃充俊鍘�,3716 +371623,鏃犳#鍘�,3716 +371625,鍗氬叴鍘�,3716 +371681,閭瑰钩甯�,3716 +3717,鑿忔辰甯�,37 +371702,鐗′腹鍖�,3717 +371703,瀹氶櫠鍖�,3717 +371721,鏇瑰幙,3717 +371722,鍗曞幙,3717 +371723,鎴愭鍘�,3717 +371724,宸ㄩ噹鍘�,3717 +371725,閮撳煄鍘�,3717 +371726,閯勫煄鍘�,3717 +371728,涓滄槑鍘�,3717 +41,娌冲崡鐪�, +4101,閮戝窞甯�,41 +410102,涓師鍖�,4101 +410103,浜屼竷鍖�,4101 +410104,绠″煄鍥炴棌鍖�,4101 +410105,閲戞按鍖�,4101 +410106,涓婅鍖�,4101 +410108,鎯犳祹鍖�,4101 +410122,涓墴鍘�,4101 +410181,宸╀箟甯�,4101 +410182,鑽ラ槼甯�,4101 +410183,鏂板瘑甯�,4101 +410184,鏂伴儜甯�,4101 +410185,鐧诲皝甯�,4101 +4102,寮�灏佸競,41 +410202,榫欎涵鍖�,4102 +410203,椤烘渤鍥炴棌鍖�,4102 +410204,榧撴ゼ鍖�,4102 +410205,绂圭帇鍙板尯,4102 +410212,绁ョ鍖�,4102 +410221,鏉炲幙,4102 +410222,閫氳鍘�,4102 +410223,灏夋皬鍘�,4102 +410225,鍏拌�冨幙,4102 +4103,娲涢槼甯�,41 +410302,鑰佸煄鍖�,4103 +410303,瑗垮伐鍖�,4103 +410304,鐎嶆渤鍥炴棌鍖�,4103 +410305,娑цタ鍖�,4103 +410306,鍚夊埄鍖�,4103 +410311,娲涢緳鍖�,4103 +410322,瀛熸触鍘�,4103 +410323,鏂板畨鍘�,4103 +410324,鏍惧窛鍘�,4103 +410325,宓╁幙,4103 +410326,姹濋槼鍘�,4103 +410327,瀹滈槼鍘�,4103 +410328,娲涘畞鍘�,4103 +410329,浼婂窛鍘�,4103 +410381,鍋冨笀甯�,4103 +4104,骞抽《灞卞競,41 +410402,鏂板崕鍖�,4104 +410403,鍗笢鍖�,4104 +410404,鐭抽緳鍖�,4104 +410411,婀涙渤鍖�,4104 +410421,瀹濅赴鍘�,4104 +410422,鍙跺幙,4104 +410423,椴佸北鍘�,4104 +410425,閮忓幙,4104 +410481,鑸為挗甯�,4104 +410482,姹濆窞甯�,4104 +4105,瀹夐槼甯�,41 +410502,鏂囧嘲鍖�,4105 +410503,鍖楀叧鍖�,4105 +410505,娈烽兘鍖�,4105 +410506,榫欏畨鍖�,4105 +410522,瀹夐槼鍘�,4105 +410523,姹ら槾鍘�,4105 +410526,婊戝幙,4105 +410527,鍐呴粍鍘�,4105 +410581,鏋楀窞甯�,4105 +4106,楣ゅ甯�,41 +410602,楣ゅ北鍖�,4106 +410603,灞卞煄鍖�,4106 +410611,娣囨花鍖�,4106 +410621,娴氬幙,4106 +410622,娣囧幙,4106 +4107,鏂颁埂甯�,41 +410702,绾㈡棗鍖�,4107 +410703,鍗花鍖�,4107 +410704,鍑ゆ硥鍖�,4107 +410711,鐗ч噹鍖�,4107 +410721,鏂颁埂鍘�,4107 +410724,鑾峰槈鍘�,4107 +410725,鍘熼槼鍘�,4107 +410726,寤舵触鍘�,4107 +410727,灏佷笜鍘�,4107 +410728,闀垮灒鍘�,4107 +410781,鍗緣甯�,4107 +410782,杈夊幙甯�,4107 +4108,鐒︿綔甯�,41 +410802,瑙f斁鍖�,4108 +410803,涓珯鍖�,4108 +410804,椹潙鍖�,4108 +410811,灞遍槼鍖�,4108 +410821,淇鍘�,4108 +410822,鍗氱埍鍘�,4108 +410823,姝﹂櫉鍘�,4108 +410825,娓╁幙,4108 +410882,娌侀槼甯�,4108 +410883,瀛熷窞甯�,4108 +4109,婵槼甯�,41 +410902,鍗庨緳鍖�,4109 +410922,娓呬赴鍘�,4109 +410923,鍗椾箰鍘�,4109 +410926,鑼冨幙,4109 +410927,鍙板墠鍘�,4109 +410928,婵槼鍘�,4109 +4110,璁告槍甯�,41 +411002,榄忛兘鍖�,4110 +411003,寤哄畨鍖�,4110 +411024,閯㈤櫟鍘�,4110 +411025,瑗勫煄鍘�,4110 +411081,绂瑰窞甯�,4110 +411082,闀胯憶甯�,4110 +4111,婕渤甯�,41 +411102,婧愭眹鍖�,4111 +411103,閮惧煄鍖�,4111 +411104,鍙櫟鍖�,4111 +411121,鑸為槼鍘�,4111 +411122,涓撮鍘�,4111 +4112,涓夐棬宄″競,41 +411202,婀栨花鍖�,4112 +411203,闄曞窞鍖�,4112 +411221,娓戞睜鍘�,4112 +411224,鍗㈡皬鍘�,4112 +411281,涔夐┈甯�,4112 +411282,鐏靛疂甯�,4112 +4113,鍗楅槼甯�,41 +411302,瀹涘煄鍖�,4113 +411303,鍗ч緳鍖�,4113 +411321,鍗楀彫鍘�,4113 +411322,鏂瑰煄鍘�,4113 +411323,瑗垮场鍘�,4113 +411324,闀囧钩鍘�,4113 +411325,鍐呬埂鍘�,4113 +411326,娣呭窛鍘�,4113 +411327,绀炬棗鍘�,4113 +411328,鍞愭渤鍘�,4113 +411329,鏂伴噹鍘�,4113 +411330,妗愭煆鍘�,4113 +411381,閭撳窞甯�,4113 +4114,鍟嗕笜甯�,41 +411402,姊佸洯鍖�,4114 +411403,鐫㈤槼鍖�,4114 +411421,姘戞潈鍘�,4114 +411422,鐫㈠幙,4114 +411423,瀹侀櫟鍘�,4114 +411424,鏌樺煄鍘�,4114 +411425,铏炲煄鍘�,4114 +411426,澶忛倯鍘�,4114 +411481,姘稿煄甯�,4114 +4115,淇¢槼甯�,41 +411502,娴夋渤鍖�,4115 +411503,骞虫ˉ鍖�,4115 +411521,缃楀北鍘�,4115 +411522,鍏夊北鍘�,4115 +411523,鏂板幙,4115 +411524,鍟嗗煄鍘�,4115 +411525,鍥哄鍘�,4115 +411526,娼㈠窛鍘�,4115 +411527,娣花鍘�,4115 +411528,鎭幙,4115 +4116,鍛ㄥ彛甯�,41 +411602,宸濇眹鍖�,4116 +411621,鎵舵矡鍘�,4116 +411622,瑗垮崕鍘�,4116 +411623,鍟嗘按鍘�,4116 +411624,娌堜笜鍘�,4116 +411625,閮稿煄鍘�,4116 +411626,娣槼鍘�,4116 +411627,澶悍鍘�,4116 +411628,楣块倯鍘�,4116 +411681,椤瑰煄甯�,4116 +4117,椹婚┈搴楀競,41 +411702,椹垮煄鍖�,4117 +411721,瑗垮钩鍘�,4117 +411722,涓婅敗鍘�,4117 +411723,骞宠垎鍘�,4117 +411724,姝i槼鍘�,4117 +411725,纭北鍘�,4117 +411726,娉岄槼鍘�,4117 +411727,姹濆崡鍘�,4117 +411728,閬傚钩鍘�,4117 +411729,鏂拌敗鍘�,4117 +419001,娴庢簮甯�,41 +42,婀栧寳鐪�, +4201,姝︽眽甯�,42 +420102,姹熷哺鍖�,4201 +420103,姹熸眽鍖�,4201 +420104,纭氬彛鍖�,4201 +420105,姹夐槼鍖�,4201 +420106,姝︽槍鍖�,4201 +420107,闈掑北鍖�,4201 +420111,娲北鍖�,4201 +420112,涓滆タ婀栧尯,4201 +420113,姹夊崡鍖�,4201 +420114,钄$敻鍖�,4201 +420115,姹熷鍖�,4201 +420116,榛勯檪鍖�,4201 +420117,鏂版床鍖�,4201 +4202,榛勭煶甯�,42 +420202,榛勭煶娓尯,4202 +420203,瑗垮灞卞尯,4202 +420204,涓嬮檰鍖�,4202 +420205,閾佸北鍖�,4202 +420222,闃虫柊鍘�,4202 +420281,澶у喍甯�,4202 +4203,鍗佸牥甯�,42 +420302,鑼呯鍖�,4203 +420303,寮犳咕鍖�,4203 +420304,閮ч槼鍖�,4203 +420322,閮цタ鍘�,4203 +420323,绔瑰北鍘�,4203 +420324,绔规邯鍘�,4203 +420325,鎴垮幙,4203 +420381,涓规睙鍙e競,4203 +4205,瀹滄槍甯�,42 +420502,瑗块櫟鍖�,4205 +420503,浼嶅宀楀尯,4205 +420504,鐐瑰啗鍖�,4205 +420505,鐚囦涵鍖�,4205 +420506,澶烽櫟鍖�,4205 +420525,杩滃畨鍘�,4205 +420526,鍏村北鍘�,4205 +420527,绉綊鍘�,4205 +420528,闀块槼鍦熷鏃忚嚜娌诲幙,4205 +420529,浜斿嘲鍦熷鏃忚嚜娌诲幙,4205 +420581,瀹滈兘甯�,4205 +420582,褰撻槼甯�,4205 +420583,鏋濇睙甯�,4205 +4206,瑗勯槼甯�,42 +420602,瑗勫煄鍖�,4206 +420606,妯婂煄鍖�,4206 +420607,瑗勫窞鍖�,4206 +420624,鍗楁汲鍘�,4206 +420625,璋峰煄鍘�,4206 +420626,淇濆悍鍘�,4206 +420682,鑰佹渤鍙e競,4206 +420683,鏋i槼甯�,4206 +420684,瀹滃煄甯�,4206 +4207,閯傚窞甯�,42 +420702,姊佸瓙婀栧尯,4207 +420703,鍗庡鍖�,4207 +420704,閯傚煄鍖�,4207 +4208,鑽嗛棬甯�,42 +420802,涓滃疂鍖�,4208 +420804,鎺囧垁鍖�,4208 +420822,娌欐磱鍘�,4208 +420881,閽熺ゥ甯�,4208 +420882,浜北甯�,4208 +4209,瀛濇劅甯�,42 +420902,瀛濆崡鍖�,4209 +420921,瀛濇槍鍘�,4209 +420922,澶ф偀鍘�,4209 +420923,浜戞ⅵ鍘�,4209 +420981,搴斿煄甯�,4209 +420982,瀹夐檰甯�,4209 +420984,姹夊窛甯�,4209 +4210,鑽嗗窞甯�,42 +421002,娌欏競鍖�,4210 +421003,鑽嗗窞鍖�,4210 +421022,鍏畨鍘�,4210 +421023,鐩戝埄鍘�,4210 +421024,姹熼櫟鍘�,4210 +421081,鐭抽甯�,4210 +421083,娲箹甯�,4210 +421087,鏉炬粙甯�,4210 +4211,榛勫唸甯�,42 +421102,榛勫窞鍖�,4211 +421121,鍥㈤鍘�,4211 +421122,绾㈠畨鍘�,4211 +421123,缃楃敯鍘�,4211 +421124,鑻卞北鍘�,4211 +421125,娴犳按鍘�,4211 +421126,钑叉槬鍘�,4211 +421127,榛勬鍘�,4211 +421181,楹诲煄甯�,4211 +421182,姝︾┐甯�,4211 +4212,鍜稿畞甯�,42 +421202,鍜稿畨鍖�,4212 +421221,鍢夐奔鍘�,4212 +421222,閫氬煄鍘�,4212 +421223,宕囬槼鍘�,4212 +421224,閫氬北鍘�,4212 +421281,璧ゅ甯�,4212 +4213,闅忓窞甯�,42 +421303,鏇鹃兘鍖�,4213 +421321,闅忓幙,4213 +421381,骞挎按甯�,4213 +4228,鎭╂柦鍦熷鏃忚嫍鏃忚嚜娌诲窞,42 +422801,鎭╂柦甯�,4228 +422802,鍒╁窛甯�,4228 +422822,寤哄鍘�,4228 +422823,宸翠笢鍘�,4228 +422825,瀹f仼鍘�,4228 +422826,鍜镐赴鍘�,4228 +422827,鏉ュ嚖鍘�,4228 +422828,楣ゅ嘲鍘�,4228 +429004,浠欐甯�,42 +429005,娼滄睙甯�,42 +429006,澶╅棬甯�,42 +429021,绁炲啘鏋舵灄鍖�,42 +43,婀栧崡鐪�, +4301,闀挎矙甯�,43 +430102,鑺欒搲鍖�,4301 +430103,澶╁績鍖�,4301 +430104,宀抽簱鍖�,4301 +430105,寮�绂忓尯,4301 +430111,闆ㄨ姳鍖�,4301 +430112,鏈涘煄鍖�,4301 +430121,闀挎矙鍘�,4301 +430181,娴忛槼甯�,4301 +430182,瀹佷埂甯�,4301 +4302,鏍床甯�,43 +430202,鑽峰鍖�,4302 +430203,鑺︽窞鍖�,4302 +430204,鐭冲嘲鍖�,4302 +430211,澶╁厓鍖�,4302 +430212,娓屽彛鍖�,4302 +430223,鏀稿幙,4302 +430224,鑼堕櫟鍘�,4302 +430225,鐐庨櫟鍘�,4302 +430281,閱撮櫟甯�,4302 +4303,婀樻江甯�,43 +430302,闆ㄦ箹鍖�,4303 +430304,宀冲鍖�,4303 +430321,婀樻江鍘�,4303 +430381,婀樹埂甯�,4303 +430382,闊跺北甯�,4303 +4304,琛¢槼甯�,43 +430405,鐝犳櫀鍖�,4304 +430406,闆佸嘲鍖�,4304 +430407,鐭抽紦鍖�,4304 +430408,钂告箻鍖�,4304 +430412,鍗楀渤鍖�,4304 +430421,琛¢槼鍘�,4304 +430422,琛″崡鍘�,4304 +430423,琛″北鍘�,4304 +430424,琛′笢鍘�,4304 +430426,绁佷笢鍘�,4304 +430481,鑰掗槼甯�,4304 +430482,甯稿畞甯�,4304 +4305,閭甸槼甯�,43 +430502,鍙屾竻鍖�,4305 +430503,澶хゥ鍖�,4305 +430511,鍖楀鍖�,4305 +430521,閭典笢鍘�,4305 +430522,鏂伴偟鍘�,4305 +430523,閭甸槼鍘�,4305 +430524,闅嗗洖鍘�,4305 +430525,娲炲彛鍘�,4305 +430527,缁ュ畞鍘�,4305 +430528,鏂板畞鍘�,4305 +430529,鍩庢鑻楁棌鑷不鍘�,4305 +430581,姝﹀唸甯�,4305 +4306,宀抽槼甯�,43 +430602,宀抽槼妤煎尯,4306 +430603,浜戞邯鍖�,4306 +430611,鍚涘北鍖�,4306 +430621,宀抽槼鍘�,4306 +430623,鍗庡鍘�,4306 +430624,婀橀槾鍘�,4306 +430626,骞虫睙鍘�,4306 +430681,姹ㄧ綏甯�,4306 +430682,涓存箻甯�,4306 +4307,甯稿痉甯�,43 +430702,姝﹂櫟鍖�,4307 +430703,榧庡煄鍖�,4307 +430721,瀹変埂鍘�,4307 +430722,姹夊鍘�,4307 +430723,婢у幙,4307 +430724,涓存晶鍘�,4307 +430725,妗冩簮鍘�,4307 +430726,鐭抽棬鍘�,4307 +430781,娲ュ競甯�,4307 +4308,寮犲鐣屽競,43 +430802,姘稿畾鍖�,4308 +430811,姝﹂櫟婧愬尯,4308 +430821,鎱堝埄鍘�,4308 +430822,妗戞鍘�,4308 +4309,鐩婇槼甯�,43 +430902,璧勯槼鍖�,4309 +430903,璧北鍖�,4309 +430921,鍗楀幙,4309 +430922,妗冩睙鍘�,4309 +430923,瀹夊寲鍘�,4309 +430981,娌呮睙甯�,4309 +4310,閮村窞甯�,43 +431002,鍖楁箹鍖�,4310 +431003,鑻忎粰鍖�,4310 +431021,妗傞槼鍘�,4310 +431022,瀹滅珷鍘�,4310 +431023,姘稿叴鍘�,4310 +431024,鍢夌鍘�,4310 +431025,涓存鍘�,4310 +431026,姹濆煄鍘�,4310 +431027,妗備笢鍘�,4310 +431028,瀹変粊鍘�,4310 +431081,璧勫叴甯�,4310 +4311,姘稿窞甯�,43 +431102,闆堕櫟鍖�,4311 +431103,鍐锋按婊╁尯,4311 +431121,绁侀槼鍘�,4311 +431122,涓滃畨鍘�,4311 +431123,鍙岀墝鍘�,4311 +431124,閬撳幙,4311 +431125,姹熸案鍘�,4311 +431126,瀹佽繙鍘�,4311 +431127,钃濆北鍘�,4311 +431128,鏂扮敯鍘�,4311 +431129,姹熷崕鐟舵棌鑷不鍘�,4311 +4312,鎬�鍖栧競,43 +431202,楣ゅ煄鍖�,4312 +431221,涓柟鍘�,4312 +431222,娌呴櫟鍘�,4312 +431223,杈版邯鍘�,4312 +431224,婧嗘郸鍘�,4312 +431225,浼氬悓鍘�,4312 +431226,楹婚槼鑻楁棌鑷不鍘�,4312 +431227,鏂版檭渚楁棌鑷不鍘�,4312 +431228,鑺锋睙渚楁棌鑷不鍘�,4312 +431229,闈栧窞鑻楁棌渚楁棌鑷不鍘�,4312 +431230,閫氶亾渚楁棌鑷不鍘�,4312 +431281,娲睙甯�,4312 +4313,濞勫簳甯�,43 +431302,濞勬槦鍖�,4313 +431321,鍙屽嘲鍘�,4313 +431322,鏂板寲鍘�,4313 +431381,鍐锋按姹熷競,4313 +431382,娑熸簮甯�,4313 +4331,婀樿タ鍦熷鏃忚嫍鏃忚嚜娌诲窞,43 +433101,鍚夐甯�,4331 +433122,娉告邯鍘�,4331 +433123,鍑ゅ嚢鍘�,4331 +433124,鑺卞灒鍘�,4331 +433125,淇濋潠鍘�,4331 +433126,鍙や笀鍘�,4331 +433127,姘搁『鍘�,4331 +433130,榫欏北鍘�,4331 +44,骞夸笢鐪�, +4401,骞垮窞甯�,44 +440103,鑽旀咕鍖�,4401 +440104,瓒婄鍖�,4401 +440105,娴风彔鍖�,4401 +440106,澶╂渤鍖�,4401 +440111,鐧戒簯鍖�,4401 +440112,榛勫煍鍖�,4401 +440113,鐣鍖�,4401 +440114,鑺遍兘鍖�,4401 +440115,鍗楁矙鍖�,4401 +440117,浠庡寲鍖�,4401 +440118,澧炲煄鍖�,4401 +4402,闊跺叧甯�,44 +440203,姝︽睙鍖�,4402 +440204,娴堟睙鍖�,4402 +440205,鏇叉睙鍖�,4402 +440222,濮嬪叴鍘�,4402 +440224,浠佸寲鍘�,4402 +440229,缈佹簮鍘�,4402 +440232,涔虫簮鐟舵棌鑷不鍘�,4402 +440233,鏂颁赴鍘�,4402 +440281,涔愭槍甯�,4402 +440282,鍗楅泟甯�,4402 +4403,娣卞湷甯�,44 +440303,缃楁箹鍖�,4403 +440304,绂忕敯鍖�,4403 +440305,鍗楀北鍖�,4403 +440306,瀹濆畨鍖�,4403 +440307,榫欏矖鍖�,4403 +440308,鐩愮敯鍖�,4403 +440309,榫欏崕鍖�,4403 +440310,鍧北鍖�,4403 +440311,鍏夋槑鍖�,4403 +4404,鐝犳捣甯�,44 +440402,棣欐床鍖�,4404 +440403,鏂楅棬鍖�,4404 +440404,閲戞咕鍖�,4404 +4405,姹曞ご甯�,44 +440507,榫欐箹鍖�,4405 +440511,閲戝钩鍖�,4405 +440512,婵犳睙鍖�,4405 +440513,娼槼鍖�,4405 +440514,娼崡鍖�,4405 +440515,婢勬捣鍖�,4405 +440523,鍗楁境鍘�,4405 +4406,浣涘北甯�,44 +440604,绂呭煄鍖�,4406 +440605,鍗楁捣鍖�,4406 +440606,椤哄痉鍖�,4406 +440607,涓夋按鍖�,4406 +440608,楂樻槑鍖�,4406 +4407,姹熼棬甯�,44 +440703,钃睙鍖�,4407 +440704,姹熸捣鍖�,4407 +440705,鏂颁細鍖�,4407 +440781,鍙板北甯�,4407 +440783,寮�骞冲競,4407 +440784,楣ゅ北甯�,4407 +440785,鎭╁钩甯�,4407 +4408,婀涙睙甯�,44 +440802,璧ゅ潕鍖�,4408 +440803,闇炲北鍖�,4408 +440804,鍧″ご鍖�,4408 +440811,楹荤珷鍖�,4408 +440823,閬傛邯鍘�,4408 +440825,寰愰椈鍘�,4408 +440881,寤夋睙甯�,4408 +440882,闆峰窞甯�,4408 +440883,鍚村窛甯�,4408 +4409,鑼傚悕甯�,44 +440902,鑼傚崡鍖�,4409 +440904,鐢电櫧鍖�,4409 +440981,楂樺窞甯�,4409 +440982,鍖栧窞甯�,4409 +440983,淇″疁甯�,4409 +4412,鑲囧簡甯�,44 +441202,绔窞鍖�,4412 +441203,榧庢箹鍖�,4412 +441204,楂樿鍖�,4412 +441223,骞垮畞鍘�,4412 +441224,鎬�闆嗗幙,4412 +441225,灏佸紑鍘�,4412 +441226,寰峰簡鍘�,4412 +441284,鍥涗細甯�,4412 +4413,鎯犲窞甯�,44 +441302,鎯犲煄鍖�,4413 +441303,鎯犻槼鍖�,4413 +441322,鍗氱綏鍘�,4413 +441323,鎯犱笢鍘�,4413 +441324,榫欓棬鍘�,4413 +4414,姊呭窞甯�,44 +441402,姊呮睙鍖�,4414 +441403,姊呭幙鍖�,4414 +441422,澶у煍鍘�,4414 +441423,涓伴『鍘�,4414 +441424,浜斿崕鍘�,4414 +441426,骞宠繙鍘�,4414 +441427,钑夊箔鍘�,4414 +441481,鍏村畞甯�,4414 +4415,姹曞熬甯�,44 +441502,鍩庡尯,4415 +441521,娴蜂赴鍘�,4415 +441523,闄嗘渤鍘�,4415 +441581,闄嗕赴甯�,4415 +4416,娌虫簮甯�,44 +441602,婧愬煄鍖�,4416 +441621,绱噾鍘�,4416 +441622,榫欏窛鍘�,4416 +441623,杩炲钩鍘�,4416 +441624,鍜屽钩鍘�,4416 +441625,涓滄簮鍘�,4416 +4417,闃虫睙甯�,44 +441702,姹熷煄鍖�,4417 +441704,闃充笢鍖�,4417 +441721,闃宠タ鍘�,4417 +441781,闃虫槬甯�,4417 +4418,娓呰繙甯�,44 +441802,娓呭煄鍖�,4418 +441803,娓呮柊鍖�,4418 +441821,浣涘唸鍘�,4418 +441823,闃冲北鍘�,4418 +441825,杩炲北澹棌鐟舵棌鑷不鍘�,4418 +441826,杩炲崡鐟舵棌鑷不鍘�,4418 +441881,鑻卞痉甯�,4418 +441882,杩炲窞甯�,4418 +4419,涓滆帪甯�,44 +4420,涓北甯�,44 +4451,娼窞甯�,44 +445102,婀樻ˉ鍖�,4451 +445103,娼畨鍖�,4451 +445122,楗跺钩鍘�,4451 +4452,鎻槼甯�,44 +445202,姒曞煄鍖�,4452 +445203,鎻笢鍖�,4452 +445222,鎻タ鍘�,4452 +445224,鎯犳潵鍘�,4452 +445281,鏅畞甯�,4452 +4453,浜戞诞甯�,44 +445302,浜戝煄鍖�,4453 +445303,浜戝畨鍖�,4453 +445321,鏂板叴鍘�,4453 +445322,閮佸崡鍘�,4453 +445381,缃楀畾甯�,4453 +45,骞胯タ澹棌鑷不鍖�, +4501,鍗楀畞甯�,45 +450102,鍏村畞鍖�,4501 +450103,闈掔鍖�,4501 +450105,姹熷崡鍖�,4501 +450107,瑗夸埂濉樺尯,4501 +450108,鑹簡鍖�,4501 +450109,閭曞畞鍖�,4501 +450110,姝﹂福鍖�,4501 +450123,闅嗗畨鍘�,4501 +450124,椹北鍘�,4501 +450125,涓婃灄鍘�,4501 +450126,瀹鹃槼鍘�,4501 +450127,妯幙,4501 +4502,鏌冲窞甯�,45 +450202,鍩庝腑鍖�,4502 +450203,楸煎嘲鍖�,4502 +450204,鏌冲崡鍖�,4502 +450205,鏌冲寳鍖�,4502 +450206,鏌虫睙鍖�,4502 +450222,鏌冲煄鍘�,4502 +450223,楣垮鍘�,4502 +450224,铻嶅畨鍘�,4502 +450225,铻嶆按鑻楁棌鑷不鍘�,4502 +450226,涓夋睙渚楁棌鑷不鍘�,4502 +4503,妗傛灄甯�,45 +450302,绉�宄板尯,4503 +450303,鍙犲僵鍖�,4503 +450304,璞″北鍖�,4503 +450305,涓冩槦鍖�,4503 +450311,闆佸北鍖�,4503 +450312,涓存鍖�,4503 +450321,闃虫湐鍘�,4503 +450323,鐏靛窛鍘�,4503 +450324,鍏ㄥ窞鍘�,4503 +450325,鍏村畨鍘�,4503 +450326,姘哥鍘�,4503 +450327,鐏岄槼鍘�,4503 +450328,榫欒儨鍚勬棌鑷不鍘�,4503 +450329,璧勬簮鍘�,4503 +450330,骞充箰鍘�,4503 +450332,鎭煄鐟舵棌鑷不鍘�,4503 +450381,鑽旀郸甯�,4503 +4504,姊у窞甯�,45 +450403,涓囩鍖�,4504 +450405,闀挎床鍖�,4504 +450406,榫欏湬鍖�,4504 +450421,鑻嶆ⅶ鍘�,4504 +450422,钘ゅ幙,4504 +450423,钂欏北鍘�,4504 +450481,宀戞邯甯�,4504 +4505,鍖楁捣甯�,45 +450502,娴峰煄鍖�,4505 +450503,閾舵捣鍖�,4505 +450512,閾佸北娓尯,4505 +450521,鍚堟郸鍘�,4505 +4506,闃插煄娓競,45 +450602,娓彛鍖�,4506 +450603,闃插煄鍖�,4506 +450621,涓婃�濆幙,4506 +450681,涓滃叴甯�,4506 +4507,閽﹀窞甯�,45 +450702,閽﹀崡鍖�,4507 +450703,閽﹀寳鍖�,4507 +450721,鐏靛北鍘�,4507 +450722,娴﹀寳鍘�,4507 +4508,璐垫腐甯�,45 +450802,娓寳鍖�,4508 +450803,娓崡鍖�,4508 +450804,瑕冨鍖�,4508 +450821,骞冲崡鍘�,4508 +450881,妗傚钩甯�,4508 +4509,鐜夋灄甯�,45 +450902,鐜夊窞鍖�,4509 +450903,绂忕坏鍖�,4509 +450921,瀹瑰幙,4509 +450922,闄嗗窛鍘�,4509 +450923,鍗氱櫧鍘�,4509 +450924,鍏翠笟鍘�,4509 +450981,鍖楁祦甯�,4509 +4510,鐧捐壊甯�,45 +451002,鍙虫睙鍖�,4510 +451021,鐢伴槼鍘�,4510 +451022,鐢颁笢鍘�,4510 +451023,骞虫灉鍘�,4510 +451024,寰蜂繚鍘�,4510 +451026,閭e潯鍘�,4510 +451027,鍑屼簯鍘�,4510 +451028,涔愪笟鍘�,4510 +451029,鐢版灄鍘�,4510 +451030,瑗挎灄鍘�,4510 +451031,闅嗘灄鍚勬棌鑷不鍘�,4510 +451081,闈栬タ甯�,4510 +4511,璐哄窞甯�,45 +451102,鍏鍖�,4511 +451103,骞虫鍖�,4511 +451121,鏄钩鍘�,4511 +451122,閽熷北鍘�,4511 +451123,瀵屽窛鐟舵棌鑷不鍘�,4511 +4512,娌虫睜甯�,45 +451202,閲戝煄姹熷尯,4512 +451203,瀹滃窞鍖�,4512 +451221,鍗椾腹鍘�,4512 +451222,澶╁敞鍘�,4512 +451223,鍑ゅ北鍘�,4512 +451224,涓滃叞鍘�,4512 +451225,缃楀煄浠浆鏃忚嚜娌诲幙,4512 +451226,鐜睙姣涘崡鏃忚嚜娌诲幙,4512 +451227,宸撮┈鐟舵棌鑷不鍘�,4512 +451228,閮藉畨鐟舵棌鑷不鍘�,4512 +451229,澶у寲鐟舵棌鑷不鍘�,4512 +4513,鏉ュ甯�,45 +451302,鍏村鍖�,4513 +451321,蹇诲煄鍘�,4513 +451322,璞″窞鍘�,4513 +451323,姝﹀鍘�,4513 +451324,閲戠鐟舵棌鑷不鍘�,4513 +451381,鍚堝北甯�,4513 +4514,宕囧乏甯�,45 +451402,姹熷窞鍖�,4514 +451421,鎵剁互鍘�,4514 +451422,瀹佹槑鍘�,4514 +451423,榫欏窞鍘�,4514 +451424,澶ф柊鍘�,4514 +451425,澶╃瓑鍘�,4514 +451481,鍑ゥ甯�,4514 +46,娴峰崡鐪�, +4601,娴峰彛甯�,46 +460105,绉�鑻卞尯,4601 +460106,榫欏崕鍖�,4601 +460107,鐞煎北鍖�,4601 +460108,缇庡叞鍖�,4601 +4602,涓変簹甯�,46 +460202,娴锋鍖�,4602 +460203,鍚夐槼鍖�,4602 +460204,澶╂动鍖�,4602 +460205,宕栧窞鍖�,4602 +4603,涓夋矙甯�,46 +4604,鍎嬪窞甯�,46 +469001,浜旀寚灞卞競,46 +469002,鐞兼捣甯�,46 +469005,鏂囨槍甯�,46 +469006,涓囧畞甯�,46 +469007,涓滄柟甯�,46 +469021,瀹氬畨鍘�,46 +469022,灞槍鍘�,46 +469023,婢勮繄鍘�,46 +469024,涓撮珮鍘�,46 +469025,鐧芥矙榛庢棌鑷不鍘�,46 +469026,鏄屾睙榛庢棌鑷不鍘�,46 +469027,涔愪笢榛庢棌鑷不鍘�,46 +469028,闄垫按榛庢棌鑷不鍘�,46 +469029,淇濅涵榛庢棌鑻楁棌鑷不鍘�,46 +469030,鐞间腑榛庢棌鑻楁棌鑷不鍘�,46 +50,閲嶅簡甯�, +500101,涓囧窞鍖�,50 +500102,娑櫟鍖�,50 +500103,娓濅腑鍖�,50 +500104,澶ф浮鍙e尯,50 +500105,姹熷寳鍖�,50 +500106,娌欏潽鍧濆尯,50 +500107,涔濋緳鍧″尯,50 +500108,鍗楀哺鍖�,50 +500109,鍖楃鍖�,50 +500110,缍︽睙鍖�,50 +500111,澶ц冻鍖�,50 +500112,娓濆寳鍖�,50 +500113,宸村崡鍖�,50 +500114,榛旀睙鍖�,50 +500115,闀垮鍖�,50 +500116,姹熸触鍖�,50 +500117,鍚堝窛鍖�,50 +500118,姘稿窛鍖�,50 +500119,鍗楀窛鍖�,50 +500120,鐠у北鍖�,50 +500151,閾滄鍖�,50 +500152,娼煎崡鍖�,50 +500153,鑽f槍鍖�,50 +500154,寮�宸炲尯,50 +500155,姊佸钩鍖�,50 +500156,姝﹂殕鍖�,50 +500229,鍩庡彛鍘�,50 +500230,涓伴兘鍘�,50 +500231,鍨睙鍘�,50 +500233,蹇犲幙,50 +500235,浜戦槼鍘�,50 +500236,濂夎妭鍘�,50 +500237,宸北鍘�,50 +500238,宸邯鍘�,50 +500240,鐭虫煴鍦熷鏃忚嚜娌诲幙,50 +500241,绉�灞卞湡瀹舵棌鑻楁棌鑷不鍘�,50 +500242,閰夐槼鍦熷鏃忚嫍鏃忚嚜娌诲幙,50 +500243,褰按鑻楁棌鍦熷鏃忚嚜娌诲幙,50 +51,鍥涘窛鐪�, +5101,鎴愰兘甯�,51 +510104,閿︽睙鍖�,5101 +510105,闈掔緤鍖�,5101 +510106,閲戠墰鍖�,5101 +510107,姝︿警鍖�,5101 +510108,鎴愬崕鍖�,5101 +510112,榫欐硥椹垮尯,5101 +510113,闈掔櫧姹熷尯,5101 +510114,鏂伴兘鍖�,5101 +510115,娓╂睙鍖�,5101 +510116,鍙屾祦鍖�,5101 +510117,閮兘鍖�,5101 +510121,閲戝爞鍘�,5101 +510129,澶ч倯鍘�,5101 +510131,钂叉睙鍘�,5101 +510132,鏂版触鍘�,5101 +510181,閮芥睙鍫板競,5101 +510182,褰窞甯�,5101 +510183,閭涘磧甯�,5101 +510184,宕囧窞甯�,5101 +510185,绠�闃冲競,5101 +5103,鑷础甯�,51 +510302,鑷祦浜曞尯,5103 +510303,璐′簳鍖�,5103 +510304,澶у畨鍖�,5103 +510311,娌挎哗鍖�,5103 +510321,鑽e幙,5103 +510322,瀵岄『鍘�,5103 +5104,鏀�鏋濊姳甯�,51 +510402,涓滃尯,5104 +510403,瑗垮尯,5104 +510411,浠佸拰鍖�,5104 +510421,绫虫槗鍘�,5104 +510422,鐩愯竟鍘�,5104 +5105,娉稿窞甯�,51 +510502,姹熼槼鍖�,5105 +510503,绾虫邯鍖�,5105 +510504,榫欓┈娼尯,5105 +510521,娉稿幙,5105 +510522,鍚堟睙鍘�,5105 +510524,鍙欐案鍘�,5105 +510525,鍙よ敽鍘�,5105 +5106,寰烽槼甯�,51 +510603,鏃岄槼鍖�,5106 +510604,缃楁睙鍖�,5106 +510623,涓睙鍘�,5106 +510681,骞挎眽甯�,5106 +510682,浠�閭″競,5106 +510683,缁电甯�,5106 +5107,缁甸槼甯�,51 +510703,娑煄鍖�,5107 +510704,娓镐粰鍖�,5107 +510705,瀹夊窞鍖�,5107 +510722,涓夊彴鍘�,5107 +510723,鐩愪涵鍘�,5107 +510725,姊撴郊鍘�,5107 +510726,鍖楀窛缇屾棌鑷不鍘�,5107 +510727,骞虫鍘�,5107 +510781,姹熸补甯�,5107 +5108,骞垮厓甯�,51 +510802,鍒╁窞鍖�,5108 +510811,鏄寲鍖�,5108 +510812,鏈濆ぉ鍖�,5108 +510821,鏃鸿媿鍘�,5108 +510822,闈掑窛鍘�,5108 +510823,鍓戦榿鍘�,5108 +510824,鑻嶆邯鍘�,5108 +5109,閬傚畞甯�,51 +510903,鑸瑰北鍖�,5109 +510904,瀹夊眳鍖�,5109 +510921,钃邯鍘�,5109 +510922,灏勬椽鍘�,5109 +510923,澶ц嫳鍘�,5109 +5110,鍐呮睙甯�,51 +511002,甯備腑鍖�,5110 +511011,涓滃叴鍖�,5110 +511024,濞佽繙鍘�,5110 +511025,璧勪腑鍘�,5110 +511083,闅嗘槍甯�,5110 +5111,涔愬北甯�,51 +511102,甯備腑鍖�,5111 +511111,娌欐咕鍖�,5111 +511112,浜旈�氭ˉ鍖�,5111 +511113,閲戝彛娌冲尯,5111 +511123,鐘嶄负鍘�,5111 +511124,浜曠爺鍘�,5111 +511126,澶规睙鍘�,5111 +511129,娌愬窛鍘�,5111 +511132,宄ㄨ竟褰濇棌鑷不鍘�,5111 +511133,椹竟褰濇棌鑷不鍘�,5111 +511181,宄ㄧ湁灞卞競,5111 +5113,鍗楀厖甯�,51 +511302,椤哄簡鍖�,5113 +511303,楂樺潽鍖�,5113 +511304,鍢夐櫟鍖�,5113 +511321,鍗楅儴鍘�,5113 +511322,钀ュ北鍘�,5113 +511323,钃畨鍘�,5113 +511324,浠檱鍘�,5113 +511325,瑗垮厖鍘�,5113 +511381,闃嗕腑甯�,5113 +5114,鐪夊北甯�,51 +511402,涓滃潯鍖�,5114 +511403,褰北鍖�,5114 +511421,浠佸鍘�,5114 +511423,娲泤鍘�,5114 +511424,涓规1鍘�,5114 +511425,闈掔鍘�,5114 +5115,瀹滃甯�,51 +511502,缈犲睆鍖�,5115 +511503,鍗楁邯鍖�,5115 +511504,鍙欏窞鍖�,5115 +511523,姹熷畨鍘�,5115 +511524,闀垮畞鍘�,5115 +511525,楂樺幙,5115 +511526,鐝欏幙,5115 +511527,绛犺繛鍘�,5115 +511528,鍏存枃鍘�,5115 +511529,灞忓北鍘�,5115 +5116,骞垮畨甯�,51 +511602,骞垮畨鍖�,5116 +511603,鍓嶉攱鍖�,5116 +511621,宀虫睜鍘�,5116 +511622,姝﹁儨鍘�,5116 +511623,閭绘按鍘�,5116 +511681,鍗庤摜甯�,5116 +5117,杈惧窞甯�,51 +511702,閫氬窛鍖�,5117 +511703,杈惧窛鍖�,5117 +511722,瀹f眽鍘�,5117 +511723,寮�姹熷幙,5117 +511724,澶х鍘�,5117 +511725,娓犲幙,5117 +511781,涓囨簮甯�,5117 +5118,闆呭畨甯�,51 +511802,闆ㄥ煄鍖�,5118 +511803,鍚嶅北鍖�,5118 +511822,鑽ョ粡鍘�,5118 +511823,姹夋簮鍘�,5118 +511824,鐭虫鍘�,5118 +511825,澶╁叏鍘�,5118 +511826,鑺﹀北鍘�,5118 +511827,瀹濆叴鍘�,5118 +5119,宸翠腑甯�,51 +511902,宸村窞鍖�,5119 +511903,鎭╅槼鍖�,5119 +511921,閫氭睙鍘�,5119 +511922,鍗楁睙鍘�,5119 +511923,骞虫槍鍘�,5119 +5120,璧勯槼甯�,51 +512002,闆佹睙鍖�,5120 +512021,瀹夊渤鍘�,5120 +512022,涔愯嚦鍘�,5120 +5132,闃垮潩钘忔棌缇屾棌鑷不宸�,51 +513201,椹皵搴峰競,5132 +513221,姹跺窛鍘�,5132 +513222,鐞嗗幙,5132 +513223,鑼傚幙,5132 +513224,鏉炬綐鍘�,5132 +513225,涔濆娌熷幙,5132 +513226,閲戝窛鍘�,5132 +513227,灏忛噾鍘�,5132 +513228,榛戞按鍘�,5132 +513230,澹ゅ鍘�,5132 +513231,闃垮潩鍘�,5132 +513232,鑻ュ皵鐩栧幙,5132 +513233,绾㈠師鍘�,5132 +5133,鐢樺瓬钘忔棌鑷不宸�,51 +513301,搴峰畾甯�,5133 +513322,娉稿畾鍘�,5133 +513323,涓瑰反鍘�,5133 +513324,涔濋緳鍘�,5133 +513325,闆呮睙鍘�,5133 +513326,閬撳瓪鍘�,5133 +513327,鐐夐湇鍘�,5133 +513328,鐢樺瓬鍘�,5133 +513329,鏂伴緳鍘�,5133 +513330,寰锋牸鍘�,5133 +513331,鐧界帀鍘�,5133 +513332,鐭虫笭鍘�,5133 +513333,鑹茶揪鍘�,5133 +513334,鐞嗗鍘�,5133 +513335,宸村鍘�,5133 +513336,涔″煄鍘�,5133 +513337,绋诲煄鍘�,5133 +513338,寰楄崳鍘�,5133 +5134,鍑夊北褰濇棌鑷不宸�,51 +513401,瑗挎槍甯�,5134 +513422,鏈ㄩ噷钘忔棌鑷不鍘�,5134 +513423,鐩愭簮鍘�,5134 +513424,寰锋槍鍘�,5134 +513425,浼氱悊鍘�,5134 +513426,浼氫笢鍘�,5134 +513427,瀹佸崡鍘�,5134 +513428,鏅牸鍘�,5134 +513429,甯冩嫋鍘�,5134 +513430,閲戦槼鍘�,5134 +513431,鏄鍘�,5134 +513432,鍠滃痉鍘�,5134 +513433,鍐曞畞鍘�,5134 +513434,瓒婅タ鍘�,5134 +513435,鐢樻礇鍘�,5134 +513436,缇庡鍘�,5134 +513437,闆锋尝鍘�,5134 +52,璐靛窞鐪�, +5201,璐甸槼甯�,52 +520102,鍗楁槑鍖�,5201 +520103,浜戝博鍖�,5201 +520111,鑺辨邯鍖�,5201 +520112,涔屽綋鍖�,5201 +520113,鐧戒簯鍖�,5201 +520115,瑙傚北婀栧尯,5201 +520121,寮�闃冲幙,5201 +520122,鎭兘鍘�,5201 +520123,淇枃鍘�,5201 +520181,娓呴晣甯�,5201 +5202,鍏洏姘村競,52 +520201,閽熷北鍖�,5202 +520203,鍏灊鐗瑰尯,5202 +520221,姘村煄鍘�,5202 +520281,鐩樺窞甯�,5202 +5203,閬典箟甯�,52 +520302,绾㈣姳宀楀尯,5203 +520303,姹囧窛鍖�,5203 +520304,鎾窞鍖�,5203 +520322,妗愭鍘�,5203 +520323,缁ラ槼鍘�,5203 +520324,姝e畨鍘�,5203 +520325,閬撶湡浠′浆鏃忚嫍鏃忚嚜娌诲幙,5203 +520326,鍔″窛浠′浆鏃忚嫍鏃忚嚜娌诲幙,5203 +520327,鍑ゅ唸鍘�,5203 +520328,婀勬江鍘�,5203 +520329,浣欏簡鍘�,5203 +520330,涔犳按鍘�,5203 +520381,璧ゆ按甯�,5203 +520382,浠佹��甯�,5203 +5204,瀹夐『甯�,52 +520402,瑗跨鍖�,5204 +520403,骞冲潩鍖�,5204 +520422,鏅畾鍘�,5204 +520423,闀囧畞甯冧緷鏃忚嫍鏃忚嚜娌诲幙,5204 +520424,鍏冲箔甯冧緷鏃忚嫍鏃忚嚜娌诲幙,5204 +520425,绱簯鑻楁棌甯冧緷鏃忚嚜娌诲幙,5204 +5205,姣曡妭甯�,52 +520502,涓冩槦鍏冲尯,5205 +520521,澶ф柟鍘�,5205 +520522,榛旇タ鍘�,5205 +520523,閲戞矙鍘�,5205 +520524,缁囬噾鍘�,5205 +520525,绾抽泹鍘�,5205 +520526,濞佸畞褰濇棌鍥炴棌鑻楁棌鑷不鍘�,5205 +520527,璧珷鍘�,5205 +5206,閾滀粊甯�,52 +520602,纰ф睙鍖�,5206 +520603,涓囧北鍖�,5206 +520621,姹熷彛鍘�,5206 +520622,鐜夊睆渚楁棌鑷不鍘�,5206 +520623,鐭抽槨鍘�,5206 +520624,鎬濆崡鍘�,5206 +520625,鍗版睙鍦熷鏃忚嫍鏃忚嚜娌诲幙,5206 +520626,寰锋睙鍘�,5206 +520627,娌挎渤鍦熷鏃忚嚜娌诲幙,5206 +520628,鏉炬鑻楁棌鑷不鍘�,5206 +5223,榛旇タ鍗楀竷渚濇棌鑻楁棌鑷不宸�,52 +522301,鍏翠箟甯�,5223 +522302,鍏翠粊甯�,5223 +522323,鏅畨鍘�,5223 +522324,鏅撮殕鍘�,5223 +522325,璐炰赴鍘�,5223 +522326,鏈涜盁鍘�,5223 +522327,鍐屼酣鍘�,5223 +522328,瀹夐緳鍘�,5223 +5226,榛斾笢鍗楄嫍鏃忎緱鏃忚嚜娌诲窞,52 +522601,鍑噷甯�,5226 +522622,榛勫钩鍘�,5226 +522623,鏂界鍘�,5226 +522624,涓夌鍘�,5226 +522625,闀囪繙鍘�,5226 +522626,宀戝珐鍘�,5226 +522627,澶╂煴鍘�,5226 +522628,閿﹀睆鍘�,5226 +522629,鍓戞渤鍘�,5226 +522630,鍙版睙鍘�,5226 +522631,榛庡钩鍘�,5226 +522632,姒曟睙鍘�,5226 +522633,浠庢睙鍘�,5226 +522634,闆峰北鍘�,5226 +522635,楹绘睙鍘�,5226 +522636,涓瑰鍘�,5226 +5227,榛斿崡甯冧緷鏃忚嫍鏃忚嚜娌诲窞,52 +522701,閮藉寑甯�,5227 +522702,绂忔硥甯�,5227 +522722,鑽旀尝鍘�,5227 +522723,璐靛畾鍘�,5227 +522725,鐡畨鍘�,5227 +522726,鐙北鍘�,5227 +522727,骞冲鍘�,5227 +522728,缃楃敻鍘�,5227 +522729,闀块『鍘�,5227 +522730,榫欓噷鍘�,5227 +522731,鎯犳按鍘�,5227 +522732,涓夐兘姘存棌鑷不鍘�,5227 +53,浜戝崡鐪�, +5301,鏄嗘槑甯�,53 +530102,浜斿崕鍖�,5301 +530103,鐩橀緳鍖�,5301 +530111,瀹樻浮鍖�,5301 +530112,瑗垮北鍖�,5301 +530113,涓滃窛鍖�,5301 +530114,鍛堣础鍖�,5301 +530115,鏅嬪畞鍖�,5301 +530124,瀵屾皯鍘�,5301 +530125,瀹滆壇鍘�,5301 +530126,鐭虫灄褰濇棌鑷不鍘�,5301 +530127,宓╂槑鍘�,5301 +530128,绂勫姖褰濇棌鑻楁棌鑷不鍘�,5301 +530129,瀵荤敻鍥炴棌褰濇棌鑷不鍘�,5301 +530181,瀹夊畞甯�,5301 +5303,鏇查潠甯�,53 +530302,楹掗簾鍖�,5303 +530303,娌剧泭鍖�,5303 +530304,椹緳鍖�,5303 +530322,闄嗚壇鍘�,5303 +530323,甯堝畻鍘�,5303 +530324,缃楀钩鍘�,5303 +530325,瀵屾簮鍘�,5303 +530326,浼氭辰鍘�,5303 +530381,瀹e▉甯�,5303 +5304,鐜夋邯甯�,53 +530402,绾㈠鍖�,5304 +530403,姹熷窛鍖�,5304 +530422,婢勬睙鍘�,5304 +530423,閫氭捣鍘�,5304 +530424,鍗庡畞鍘�,5304 +530425,鏄撻棬鍘�,5304 +530426,宄ㄥ北褰濇棌鑷不鍘�,5304 +530427,鏂板钩褰濇棌鍌f棌鑷不鍘�,5304 +530428,鍏冩睙鍝堝凹鏃忓綕鏃忓偅鏃忚嚜娌诲幙,5304 +5305,淇濆北甯�,53 +530502,闅嗛槼鍖�,5305 +530521,鏂界敻鍘�,5305 +530523,榫欓櫟鍘�,5305 +530524,鏄屽畞鍘�,5305 +530581,鑵惧啿甯�,5305 +5306,鏄�氬競,53 +530602,鏄槼鍖�,5306 +530621,椴佺敻鍘�,5306 +530622,宸у鍘�,5306 +530623,鐩愭触鍘�,5306 +530624,澶у叧鍘�,5306 +530625,姘稿杽鍘�,5306 +530626,缁ユ睙鍘�,5306 +530627,闀囬泟鍘�,5306 +530628,褰濊壇鍘�,5306 +530629,濞佷俊鍘�,5306 +530681,姘村瘜甯�,5306 +5307,涓芥睙甯�,53 +530702,鍙ゅ煄鍖�,5307 +530721,鐜夐緳绾宠タ鏃忚嚜娌诲幙,5307 +530722,姘歌儨鍘�,5307 +530723,鍗庡潽鍘�,5307 +530724,瀹佽挆褰濇棌鑷不鍘�,5307 +5308,鏅幢甯�,53 +530802,鎬濊寘鍖�,5308 +530821,瀹佹幢鍝堝凹鏃忓綕鏃忚嚜娌诲幙,5308 +530822,澧ㄦ睙鍝堝凹鏃忚嚜娌诲幙,5308 +530823,鏅笢褰濇棌鑷不鍘�,5308 +530824,鏅胺鍌f棌褰濇棌鑷不鍘�,5308 +530825,闀囨矃褰濇棌鍝堝凹鏃忔媺绁滄棌鑷不鍘�,5308 +530826,姹熷煄鍝堝凹鏃忓綕鏃忚嚜娌诲幙,5308 +530827,瀛熻繛鍌f棌鎷夌鏃忎饯鏃忚嚜娌诲幙,5308 +530828,婢滄钵鎷夌鏃忚嚜娌诲幙,5308 +530829,瑗跨洘浣ゆ棌鑷不鍘�,5308 +5309,涓存钵甯�,53 +530902,涓寸繑鍖�,5309 +530921,鍑ゅ簡鍘�,5309 +530922,浜戝幙,5309 +530923,姘稿痉鍘�,5309 +530924,闀囧悍鍘�,5309 +530925,鍙屾睙鎷夌鏃忎饯鏃忓竷鏈楁棌鍌f棌鑷不鍘�,5309 +530926,鑰块┈鍌f棌浣ゆ棌鑷不鍘�,5309 +530927,娌ф簮浣ゆ棌鑷不鍘�,5309 +5323,妤氶泟褰濇棌鑷不宸�,53 +532301,妤氶泟甯�,5323 +532322,鍙屾煆鍘�,5323 +532323,鐗熷畾鍘�,5323 +532324,鍗楀崕鍘�,5323 +532325,濮氬畨鍘�,5323 +532326,澶у鍘�,5323 +532327,姘镐粊鍘�,5323 +532328,鍏冭皨鍘�,5323 +532329,姝﹀畾鍘�,5323 +532331,绂勪赴鍘�,5323 +5325,绾㈡渤鍝堝凹鏃忓綕鏃忚嚜娌诲窞,53 +532501,涓棫甯�,5325 +532502,寮�杩滃競,5325 +532503,钂欒嚜甯�,5325 +532504,寮ュ嫆甯�,5325 +532523,灞忚竟鑻楁棌鑷不鍘�,5325 +532524,寤烘按鍘�,5325 +532525,鐭冲睆鍘�,5325 +532527,娉歌タ鍘�,5325 +532528,鍏冮槼鍘�,5325 +532529,绾㈡渤鍘�,5325 +532530,閲戝钩鑻楁棌鐟舵棌鍌f棌鑷不鍘�,5325 +532531,缁挎槬鍘�,5325 +532532,娌冲彛鐟舵棌鑷不鍘�,5325 +5326,鏂囧北澹棌鑻楁棌鑷不宸�,53 +532601,鏂囧北甯�,5326 +532622,鐮氬北鍘�,5326 +532623,瑗跨暣鍘�,5326 +532624,楹绘牀鍧″幙,5326 +532625,椹叧鍘�,5326 +532626,涓樺寳鍘�,5326 +532627,骞垮崡鍘�,5326 +532628,瀵屽畞鍘�,5326 +5328,瑗垮弻鐗堢撼鍌f棌鑷不宸�,53 +532801,鏅椽甯�,5328 +532822,鍕愭捣鍘�,5328 +532823,鍕愯厞鍘�,5328 +5329,澶х悊鐧芥棌鑷不宸�,53 +532901,澶х悊甯�,5329 +532922,婕炬繛褰濇棌鑷不鍘�,5329 +532923,绁ヤ簯鍘�,5329 +532924,瀹惧窛鍘�,5329 +532925,寮ユ浮鍘�,5329 +532926,鍗楁锭褰濇棌鑷不鍘�,5329 +532927,宸嶅北褰濇棌鍥炴棌鑷不鍘�,5329 +532928,姘稿钩鍘�,5329 +532929,浜戦緳鍘�,5329 +532930,娲辨簮鍘�,5329 +532931,鍓戝窛鍘�,5329 +532932,楣ゅ簡鍘�,5329 +5331,寰峰畯鍌f棌鏅鏃忚嚜娌诲窞,53 +533102,鐟炰附甯�,5331 +533103,鑺掑競,5331 +533122,姊佹渤鍘�,5331 +533123,鐩堟睙鍘�,5331 +533124,闄囧窛鍘�,5331 +5333,鎬掓睙鍌堝兂鏃忚嚜娌诲窞,53 +533301,娉告按甯�,5333 +533323,绂忚础鍘�,5333 +533324,璐″北鐙緳鏃忔�掓棌鑷不鍘�,5333 +533325,鍏板潽鐧芥棌鏅背鏃忚嚜娌诲幙,5333 +5334,杩簡钘忔棌鑷不宸�,53 +533401,棣欐牸閲屾媺甯�,5334 +533422,寰烽挦鍘�,5334 +533423,缁磋タ鍌堝兂鏃忚嚜娌诲幙,5334 +54,瑗胯棌鑷不鍖�, +5401,鎷夎惃甯�,54 +540102,鍩庡叧鍖�,5401 +540103,鍫嗛緳寰峰簡鍖�,5401 +540104,杈惧瓬鍖�,5401 +540121,鏋楀懆鍘�,5401 +540122,褰撻泟鍘�,5401 +540123,灏兼湪鍘�,5401 +540124,鏇叉按鍘�,5401 +540127,澧ㄧ宸ュ崱鍘�,5401 +5402,鏃ュ杸鍒欏競,54 +540202,妗戠彔瀛滃尯,5402 +540221,鍗楁湪鏋楀幙,5402 +540222,姹熷瓬鍘�,5402 +540223,瀹氭棩鍘�,5402 +540224,钀ㄨ喀鍘�,5402 +540225,鎷夊瓬鍘�,5402 +540226,鏄備粊鍘�,5402 +540227,璋㈤�氶棬鍘�,5402 +540228,鐧芥湕鍘�,5402 +540229,浠佸竷鍘�,5402 +540230,搴烽┈鍘�,5402 +540231,瀹氱粨鍘�,5402 +540232,浠插反鍘�,5402 +540233,浜氫笢鍘�,5402 +540234,鍚夐殕鍘�,5402 +540235,鑱傛媺鏈ㄥ幙,5402 +540236,钀ㄥ槑鍘�,5402 +540237,宀楀反鍘�,5402 +5403,鏄岄兘甯�,54 +540302,鍗¤嫢鍖�,5403 +540321,姹熻揪鍘�,5403 +540322,璐¤鍘�,5403 +540323,绫讳箤榻愬幙,5403 +540324,涓侀潚鍘�,5403 +540325,瀵熼泤鍘�,5403 +540326,鍏鍘�,5403 +540327,宸﹁础鍘�,5403 +540328,鑺掑悍鍘�,5403 +540329,娲涢殕鍘�,5403 +540330,杈瑰潩鍘�,5403 +5404,鏋楄姖甯�,54 +540402,宸村疁鍖�,5404 +540421,宸ュ竷姹熻揪鍘�,5404 +540422,绫虫灄鍘�,5404 +540423,澧ㄨ劚鍘�,5404 +540424,娉㈠瘑鍘�,5404 +540425,瀵熼殔鍘�,5404 +540426,鏈楀幙,5404 +5405,灞卞崡甯�,54 +540502,涔冧笢鍖�,5405 +540521,鎵庡泭鍘�,5405 +540522,璐″槑鍘�,5405 +540523,妗戞棩鍘�,5405 +540524,鐞肩粨鍘�,5405 +540525,鏇叉澗鍘�,5405 +540526,鎺編鍘�,5405 +540527,娲涙墡鍘�,5405 +540528,鍔犳煡鍘�,5405 +540529,闅嗗瓙鍘�,5405 +540530,閿欓偅鍘�,5405 +540531,娴崱瀛愬幙,5405 +5406,閭f洸甯�,54 +540602,鑹插凹鍖�,5406 +540621,鍢夐粠鍘�,5406 +540622,姣斿鍘�,5406 +540623,鑱傝崳鍘�,5406 +540624,瀹夊鍘�,5406 +540625,鐢虫墡鍘�,5406 +540626,绱㈠幙,5406 +540627,鐝垐鍘�,5406 +540628,宸撮潚鍘�,5406 +540629,灏肩帥鍘�,5406 +540630,鍙屾箹鍘�,5406 +5425,闃块噷鍦板尯,54 +542521,鏅叞鍘�,5425 +542522,鏈揪鍘�,5425 +542523,鍣跺皵鍘�,5425 +542524,鏃ュ湡鍘�,5425 +542525,闈╁悏鍘�,5425 +542526,鏀瑰垯鍘�,5425 +542527,鎺嫟鍘�,5425 +61,闄曡タ鐪�, +6101,瑗垮畨甯�,61 +610102,鏂板煄鍖�,6101 +610103,纰戞灄鍖�,6101 +610104,鑾叉箹鍖�,6101 +610111,鐏炴ˉ鍖�,6101 +610112,鏈ぎ鍖�,6101 +610113,闆佸鍖�,6101 +610114,闃庤壇鍖�,6101 +610115,涓存郊鍖�,6101 +610116,闀垮畨鍖�,6101 +610117,楂橀櫟鍖�,6101 +610118,閯犻倯鍖�,6101 +610122,钃濈敯鍘�,6101 +610124,鍛ㄨ嚦鍘�,6101 +6102,閾滃窛甯�,61 +610202,鐜嬬泭鍖�,6102 +610203,鍗板彴鍖�,6102 +610204,鑰�宸炲尯,6102 +610222,瀹滃悰鍘�,6102 +6103,瀹濋浮甯�,61 +610302,娓花鍖�,6103 +610303,閲戝彴鍖�,6103 +610304,闄堜粨鍖�,6103 +610322,鍑ょ繑鍘�,6103 +610323,宀愬北鍘�,6103 +610324,鎵堕鍘�,6103 +610326,鐪夊幙,6103 +610327,闄囧幙,6103 +610328,鍗冮槼鍘�,6103 +610329,楹熸父鍘�,6103 +610330,鍑ゅ幙,6103 +610331,澶櫧鍘�,6103 +6104,鍜搁槼甯�,61 +610402,绉﹂兘鍖�,6104 +610403,鏉ㄩ櫟鍖�,6104 +610404,娓煄鍖�,6104 +610422,涓夊師鍘�,6104 +610423,娉鹃槼鍘�,6104 +610424,涔惧幙,6104 +610425,绀兼硥鍘�,6104 +610426,姘稿鍘�,6104 +610428,闀挎鍘�,6104 +610429,鏃倯鍘�,6104 +610430,娣冲寲鍘�,6104 +610431,姝﹀姛鍘�,6104 +610481,鍏村钩甯�,6104 +610482,褰窞甯�,6104 +6105,娓崡甯�,61 +610502,涓存腑鍖�,6105 +610503,鍗庡窞鍖�,6105 +610522,娼煎叧鍘�,6105 +610523,澶ц崝鍘�,6105 +610524,鍚堥槼鍘�,6105 +610525,婢勫煄鍘�,6105 +610526,钂插煄鍘�,6105 +610527,鐧芥按鍘�,6105 +610528,瀵屽钩鍘�,6105 +610581,闊╁煄甯�,6105 +610582,鍗庨槾甯�,6105 +6106,寤跺畨甯�,61 +610602,瀹濆鍖�,6106 +610603,瀹夊鍖�,6106 +610621,寤堕暱鍘�,6106 +610622,寤跺窛鍘�,6106 +610623,瀛愰暱鍘�,6106 +610625,蹇椾腹鍘�,6106 +610626,鍚磋捣鍘�,6106 +610627,鐢樻硥鍘�,6106 +610628,瀵屽幙,6106 +610629,娲涘窛鍘�,6106 +610630,瀹滃窛鍘�,6106 +610631,榛勯緳鍘�,6106 +610632,榛勯櫟鍘�,6106 +6107,姹変腑甯�,61 +610702,姹夊彴鍖�,6107 +610703,鍗楅儜鍖�,6107 +610722,鍩庡浐鍘�,6107 +610723,娲嬪幙,6107 +610724,瑗夸埂鍘�,6107 +610725,鍕夊幙,6107 +610726,瀹佸己鍘�,6107 +610727,鐣ラ槼鍘�,6107 +610728,闀囧反鍘�,6107 +610729,鐣欏潩鍘�,6107 +610730,浣涘潽鍘�,6107 +6108,姒嗘灄甯�,61 +610802,姒嗛槼鍖�,6108 +610803,妯北鍖�,6108 +610822,搴滆胺鍘�,6108 +610824,闈栬竟鍘�,6108 +610825,瀹氳竟鍘�,6108 +610826,缁ュ痉鍘�,6108 +610827,绫宠剛鍘�,6108 +610828,浣冲幙,6108 +610829,鍚村牎鍘�,6108 +610830,娓呮锭鍘�,6108 +610831,瀛愭床鍘�,6108 +610881,绁炴湪甯�,6108 +6109,瀹夊悍甯�,61 +610902,姹夋花鍖�,6109 +610921,姹夐槾鍘�,6109 +610922,鐭虫硥鍘�,6109 +610923,瀹侀檿鍘�,6109 +610924,绱槼鍘�,6109 +610925,宀氱殝鍘�,6109 +610926,骞冲埄鍘�,6109 +610927,闀囧潽鍘�,6109 +610928,鏃槼鍘�,6109 +610929,鐧芥渤鍘�,6109 +6110,鍟嗘礇甯�,61 +611002,鍟嗗窞鍖�,6110 +611021,娲涘崡鍘�,6110 +611022,涓瑰嚖鍘�,6110 +611023,鍟嗗崡鍘�,6110 +611024,灞遍槼鍘�,6110 +611025,闀囧畨鍘�,6110 +611026,鏌炴按鍘�,6110 +62,鐢樿們鐪�, +6201,鍏板窞甯�,62 +620102,鍩庡叧鍖�,6201 +620103,涓冮噷娌冲尯,6201 +620104,瑗垮浐鍖�,6201 +620105,瀹夊畞鍖�,6201 +620111,绾㈠彜鍖�,6201 +620121,姘哥櫥鍘�,6201 +620122,鐨嬪叞鍘�,6201 +620123,姒嗕腑鍘�,6201 +6202,鍢夊唱鍏冲競,62 +6203,閲戞槍甯�,62 +620302,閲戝窛鍖�,6203 +620321,姘告槍鍘�,6203 +6204,鐧介摱甯�,62 +620402,鐧介摱鍖�,6204 +620403,骞冲窛鍖�,6204 +620421,闈栬繙鍘�,6204 +620422,浼氬畞鍘�,6204 +620423,鏅嘲鍘�,6204 +6205,澶╂按甯�,62 +620502,绉﹀窞鍖�,6205 +620503,楹︾Н鍖�,6205 +620521,娓呮按鍘�,6205 +620522,绉﹀畨鍘�,6205 +620523,鐢樿胺鍘�,6205 +620524,姝﹀北鍘�,6205 +620525,寮犲宸濆洖鏃忚嚜娌诲幙,6205 +6206,姝﹀▉甯�,62 +620602,鍑夊窞鍖�,6206 +620621,姘戝嫟鍘�,6206 +620622,鍙ゆ氮鍘�,6206 +620623,澶╃钘忔棌鑷不鍘�,6206 +6207,寮犳帠甯�,62 +620702,鐢樺窞鍖�,6207 +620721,鑲冨崡瑁曞浐鏃忚嚜娌诲幙,6207 +620722,姘戜箰鍘�,6207 +620723,涓存辰鍘�,6207 +620724,楂樺彴鍘�,6207 +620725,灞变腹鍘�,6207 +6208,骞冲噳甯�,62 +620802,宕嗗硳鍖�,6208 +620821,娉惧窛鍘�,6208 +620822,鐏靛彴鍘�,6208 +620823,宕囦俊鍘�,6208 +620825,搴勬氮鍘�,6208 +620826,闈欏畞鍘�,6208 +620881,鍗庝涵甯�,6208 +6209,閰掓硥甯�,62 +620902,鑲冨窞鍖�,6209 +620921,閲戝鍘�,6209 +620922,鐡滃窞鍘�,6209 +620923,鑲冨寳钂欏彜鏃忚嚜娌诲幙,6209 +620924,闃垮厠濉炲搱钀ㄥ厠鏃忚嚜娌诲幙,6209 +620981,鐜夐棬甯�,6209 +620982,鏁︾厡甯�,6209 +6210,搴嗛槼甯�,62 +621002,瑗垮嘲鍖�,6210 +621021,搴嗗煄鍘�,6210 +621022,鐜幙,6210 +621023,鍗庢睜鍘�,6210 +621024,鍚堟按鍘�,6210 +621025,姝e畞鍘�,6210 +621026,瀹佸幙,6210 +621027,闀囧師鍘�,6210 +6211,瀹氳タ甯�,62 +621102,瀹夊畾鍖�,6211 +621121,閫氭腑鍘�,6211 +621122,闄囪タ鍘�,6211 +621123,娓簮鍘�,6211 +621124,涓存串鍘�,6211 +621125,婕冲幙,6211 +621126,宀峰幙,6211 +6212,闄囧崡甯�,62 +621202,姝﹂兘鍖�,6212 +621221,鎴愬幙,6212 +621222,鏂囧幙,6212 +621223,瀹曟槍鍘�,6212 +621224,搴峰幙,6212 +621225,瑗垮拰鍘�,6212 +621226,绀煎幙,6212 +621227,寰藉幙,6212 +621228,涓ゅ綋鍘�,6212 +6229,涓村鍥炴棌鑷不宸�,62 +622901,涓村甯�,6229 +622921,涓村鍘�,6229 +622922,搴蜂箰鍘�,6229 +622923,姘搁潠鍘�,6229 +622924,骞挎渤鍘�,6229 +622925,鍜屾斂鍘�,6229 +622926,涓滀埂鏃忚嚜娌诲幙,6229 +622927,绉煶灞变繚瀹夋棌涓滀埂鏃忔拻鎷夋棌鑷不鍘�,6229 +6230,鐢樺崡钘忔棌鑷不宸�,62 +623001,鍚堜綔甯�,6230 +623021,涓存江鍘�,6230 +623022,鍗撳凹鍘�,6230 +623023,鑸熸洸鍘�,6230 +623024,杩儴鍘�,6230 +623025,鐜涙洸鍘�,6230 +623026,纰屾洸鍘�,6230 +623027,澶忔渤鍘�,6230 +63,闈掓捣鐪�, +6301,瑗垮畞甯�,63 +630102,鍩庝笢鍖�,6301 +630103,鍩庝腑鍖�,6301 +630104,鍩庤タ鍖�,6301 +630105,鍩庡寳鍖�,6301 +630121,澶ч�氬洖鏃忓湡鏃忚嚜娌诲幙,6301 +630122,婀熶腑鍘�,6301 +630123,婀熸簮鍘�,6301 +6302,娴蜂笢甯�,63 +630202,涔愰兘鍖�,6302 +630203,骞冲畨鍖�,6302 +630222,姘戝拰鍥炴棌鍦熸棌鑷不鍘�,6302 +630223,浜掑姪鍦熸棌鑷不鍘�,6302 +630224,鍖栭殕鍥炴棌鑷不鍘�,6302 +630225,寰寲鎾掓媺鏃忚嚜娌诲幙,6302 +6322,娴峰寳钘忔棌鑷不宸�,63 +632221,闂ㄦ簮鍥炴棌鑷不鍘�,6322 +632222,绁佽繛鍘�,6322 +632223,娴锋檹鍘�,6322 +632224,鍒氬療鍘�,6322 +6323,榛勫崡钘忔棌鑷不宸�,63 +632321,鍚屼粊鍘�,6323 +632322,灏栨墡鍘�,6323 +632323,娉藉簱鍘�,6323 +632324,娌冲崡钂欏彜鏃忚嚜娌诲幙,6323 +6325,娴峰崡钘忔棌鑷不宸�,63 +632521,鍏卞拰鍘�,6325 +632522,鍚屽痉鍘�,6325 +632523,璐靛痉鍘�,6325 +632524,鍏存捣鍘�,6325 +632525,璐靛崡鍘�,6325 +6326,鏋滄礇钘忔棌鑷不宸�,63 +632621,鐜涙瞾鍘�,6326 +632622,鐝帥鍘�,6326 +632623,鐢樺痉鍘�,6326 +632624,杈炬棩鍘�,6326 +632625,涔呮不鍘�,6326 +632626,鐜涘鍘�,6326 +6327,鐜夋爲钘忔棌鑷不宸�,63 +632701,鐜夋爲甯�,6327 +632722,鏉傚鍘�,6327 +632723,绉板鍘�,6327 +632724,娌诲鍘�,6327 +632725,鍥婅唉鍘�,6327 +632726,鏇查夯鑾卞幙,6327 +6328,娴疯タ钂欏彜鏃忚棌鏃忚嚜娌诲窞,63 +632801,鏍煎皵鏈ㄥ競,6328 +632802,寰蜂护鍝堝競,6328 +632803,鑼礀甯�,6328 +632821,涔屽叞鍘�,6328 +632822,閮藉叞鍘�,6328 +632823,澶╁郴鍘�,6328 +64,瀹佸鍥炴棌鑷不鍖�, +6401,閾跺窛甯�,64 +640104,鍏村簡鍖�,6401 +640105,瑗垮鍖�,6401 +640106,閲戝嚖鍖�,6401 +640121,姘稿畞鍘�,6401 +640122,璐哄叞鍘�,6401 +640181,鐏垫甯�,6401 +6402,鐭冲槾灞卞競,64 +640202,澶ф鍙e尯,6402 +640205,鎯犲啘鍖�,6402 +640221,骞崇綏鍘�,6402 +6403,鍚村繝甯�,64 +640302,鍒╅�氬尯,6403 +640303,绾㈠鍫″尯,6403 +640323,鐩愭睜鍘�,6403 +640324,鍚屽績鍘�,6403 +640381,闈掗摐宄″競,6403 +6404,鍥哄師甯�,64 +640402,鍘熷窞鍖�,6404 +640422,瑗垮悏鍘�,6404 +640423,闅嗗痉鍘�,6404 +640424,娉炬簮鍘�,6404 +640425,褰槼鍘�,6404 +6405,涓崼甯�,64 +640502,娌欏潯澶村尯,6405 +640521,涓畞鍘�,6405 +640522,娴峰師鍘�,6405 +65,鏂扮枂缁村惥灏旇嚜娌诲尯, +6501,涔岄瞾鏈ㄩ綈甯�,65 +650102,澶╁北鍖�,6501 +650103,娌欎緷宸村厠鍖�,6501 +650104,鏂板競鍖�,6501 +650105,姘寸(娌熷尯,6501 +650106,澶村悲娌冲尯,6501 +650107,杈惧潅鍩庡尯,6501 +650109,绫充笢鍖�,6501 +650121,涔岄瞾鏈ㄩ綈鍘�,6501 +6502,鍏嬫媺鐜涗緷甯�,65 +650202,鐙北瀛愬尯,6502 +650203,鍏嬫媺鐜涗緷鍖�,6502 +650204,鐧界⒈婊╁尯,6502 +650205,涔屽皵绂惧尯,6502 +6504,鍚愰瞾鐣競,65 +650402,楂樻槍鍖�,6504 +650421,閯杽鍘�,6504 +650422,鎵樺厠閫婂幙,6504 +6505,鍝堝瘑甯�,65 +650502,浼婂窞鍖�,6505 +650521,宸撮噷鍧ゅ搱钀ㄥ厠鑷不鍘�,6505 +650522,浼婂惥鍘�,6505 +6523,鏄屽悏鍥炴棌鑷不宸�,65 +652301,鏄屽悏甯�,6523 +652302,闃滃悍甯�,6523 +652323,鍛煎浘澹佸幙,6523 +652324,鐜涚撼鏂幙,6523 +652325,濂囧彴鍘�,6523 +652327,鍚夋湪钀ㄥ皵鍘�,6523 +652328,鏈ㄥ瀿鍝堣惃鍏嬭嚜娌诲幙,6523 +6527,鍗氬皵濉旀媺钂欏彜鑷不宸�,65 +652701,鍗氫箰甯�,6527 +652702,闃挎媺灞卞彛甯�,6527 +652722,绮炬渤鍘�,6527 +652723,娓╂硥鍘�,6527 +6528,宸撮煶閮钂欏彜鑷不宸�,65 +652801,搴撳皵鍕掑競,6528 +652822,杞彴鍘�,6528 +652823,灏夌妬鍘�,6528 +652824,鑻ョ緦鍘�,6528 +652825,涓旀湯鍘�,6528 +652826,鐒夎�嗗洖鏃忚嚜娌诲幙,6528 +652827,鍜岄潤鍘�,6528 +652828,鍜岀鍘�,6528 +652829,鍗氭箹鍘�,6528 +6529,闃垮厠鑻忓湴鍖�,65 +652901,闃垮厠鑻忓競,6529 +652922,娓╁鍘�,6529 +652923,搴撹溅鍘�,6529 +652924,娌欓泤鍘�,6529 +652925,鏂板拰鍘�,6529 +652926,鎷滃煄鍘�,6529 +652927,涔屼粈鍘�,6529 +652928,闃跨摝鎻愬幙,6529 +652929,鏌潽鍘�,6529 +6530,鍏嬪瓬鍕掕嫃鏌皵鍏嬪瓬鑷不宸�,65 +653001,闃垮浘浠�甯�,6530 +653022,闃垮厠闄跺幙,6530 +653023,闃垮悎濂囧幙,6530 +653024,涔屾伆鍘�,6530 +6531,鍠�浠�鍦板尯,65 +653101,鍠�浠�甯�,6531 +653121,鐤忛檮鍘�,6531 +653122,鐤忓嫆鍘�,6531 +653123,鑻卞悏娌欏幙,6531 +653124,娉芥櫘鍘�,6531 +653125,鑾庤溅鍘�,6531 +653126,鍙跺煄鍘�,6531 +653127,楹︾洊鎻愬幙,6531 +653128,宀虫櫘婀栧幙,6531 +653129,浼藉笀鍘�,6531 +653130,宸存鍘�,6531 +653131,濉斾粈搴撳皵骞插鍚夊厠鑷不鍘�,6531 +6532,鍜岀敯鍦板尯,65 +653201,鍜岀敯甯�,6532 +653221,鍜岀敯鍘�,6532 +653222,澧ㄧ帀鍘�,6532 +653223,鐨北鍘�,6532 +653224,娲涙郸鍘�,6532 +653225,绛栧嫆鍘�,6532 +653226,浜庣敯鍘�,6532 +653227,姘戜赴鍘�,6532 +6540,浼婄妬鍝堣惃鍏嬭嚜娌诲窞,65 +654002,浼婂畞甯�,6540 +654003,濂庡悲甯�,6540 +654004,闇嶅皵鏋滄柉甯�,6540 +654021,浼婂畞鍘�,6540 +654022,瀵熷竷鏌ュ皵閿′集鑷不鍘�,6540 +654023,闇嶅煄鍘�,6540 +654024,宸╃暀鍘�,6540 +654025,鏂版簮鍘�,6540 +654026,鏄嫃鍘�,6540 +654027,鐗瑰厠鏂幙,6540 +654028,灏煎嫆鍏嬪幙,6540 +6542,濉斿煄鍦板尯,65 +654201,濉斿煄甯�,6542 +654202,涔岃嫃甯�,6542 +654221,棰濇晱鍘�,6542 +654223,娌欐咕鍘�,6542 +654224,鎵橀噷鍘�,6542 +654225,瑁曟皯鍘�,6542 +654226,鍜屽竷鍏嬭禌灏旇挋鍙よ嚜娌诲幙,6542 +6543,闃垮嫆娉板湴鍖�,65 +654301,闃垮嫆娉板競,6543 +654321,甯冨皵娲ュ幙,6543 +654322,瀵岃暣鍘�,6543 +654323,绂忔捣鍘�,6543 +654324,鍝堝反娌冲幙,6543 +654325,闈掓渤鍘�,6543 +654326,鍚夋湪涔冨幙,6543 +659001,鐭虫渤瀛愬競,65 +659002,闃挎媺灏斿競,65 +659003,鍥炬湪鑸掑厠甯�,65 +659004,浜斿娓犲競,65 +659005,鍖楀悲甯�,65 +659006,閾侀棬鍏冲競,65 +659007,鍙屾渤甯�,65 +659008,鍙厠杈炬媺甯�,65 +659009,鏄嗙帀甯�,65 +71,鍙版咕鐪�, +81,棣欐腐鐗瑰埆琛屾斂鍖�, +82,婢抽棬鐗瑰埆琛屾斂鍖�, \ No newline at end of file diff --git a/web_src/src/components/ParentPlatformList.vue b/web_src/src/components/ParentPlatformList.vue index 61e93fc..c3c9735 100644 --- a/web_src/src/components/ParentPlatformList.vue +++ b/web_src/src/components/ParentPlatformList.vue @@ -144,7 +144,7 @@ }, chooseChannel: function(platform) { console.log("platform.name: " + platform.name) - this.$refs.chooseChannelDialog.openDialog(platform.serverGBId,platform.deviceGBId, platform.name, platform.catalogId, platform.treeType, this.initData) + this.$refs.chooseChannelDialog.openDialog(platform.serverGBId,platform.deviceGBId, platform.name, platform.catalogId, this.initData) }, initData: function() { this.getPlatformList(); diff --git a/web_src/src/components/dialog/catalogEdit.vue b/web_src/src/components/dialog/catalogEdit.vue index e1cd8d2..e2fe59b 100644 --- a/web_src/src/components/dialog/catalogEdit.vue +++ b/web_src/src/components/dialog/catalogEdit.vue @@ -46,12 +46,11 @@ export default { name: "catalogEdit", computed: {}, - props: ['platformId'], + props: ['platformId', 'platformDeviceId'], created() {}, data() { let checkId = (rule, value, callback) => { console.log("checkId") - console.log(this.treeType) console.log(rule) console.log(value) console.log(value.length) @@ -59,21 +58,34 @@ if (!value) { return callback(new Error('缂栧彿涓嶈兘涓虹┖')); } - if (this.treeType === "BusinessGroup" && value.length !== 20) { - return callback(new Error('缂栧彿蹇呴』鐢�20浣嶆暟瀛楃粍鎴�')); - } - if (this.treeType === "CivilCode" && value.length <= 8 && value.length%2 !== 0) { - return callback(new Error('琛屾斂鍖哄垝蹇呴』鏄叓浣嶄互涓嬬殑鍋舵暟涓暟瀛楃粍鎴�')); - } - if (this.treeType === "BusinessGroup") { + if (value.trim().length <= 8) { + if (value.trim().length%2 !== 0) { + return callback(new Error('琛屾斂鍖哄垝缂栧彿蹇呴』涓�2/4/6/8浣�')); + } + if (this.form.parentId !== this.platformDeviceId && this.form.parentId.length >= value.trim().length) { + return callback(new Error('琛屾斂鍖哄垝缂栧彿闀垮害搴旇姣忔涓や綅閫掑')); + } + }else { + if (value.trim().length !== 20) { + return callback(new Error('缂栧彿蹇呴』涓�2/4/6/8浣嶇殑琛屾斂鍖哄垝鎴�20浣嶇殑铏氭嫙缁勭粐/涓氬姟鍒嗙粍')); + } let catalogType = value.substring(10, 13); console.log(catalogType) - // 216 涓鸿櫄鎷熺粍缁� 215 涓轰笟鍔″垎缁勶紱鐩綍绗竴绾у繀椤讳负涓氬姟鍒嗙粍锛� 涓氬姟鍒嗙粍涓嬩负铏氭嫙缁勭粐锛岃櫄鎷熺粍缁囦笅鍙互鏈夊叾浠栬櫄鎷熺粍缁� - if (this.level === 1 && catalogType !== "215") { - return callback(new Error('涓氬姟鍒嗙粍妯″紡涓嬬涓�灞傜洰褰曠殑缂栧彿11鍒�13浣嶅繀椤讳负215')); + if (catalogType !== "215" && catalogType !== "216") { + return callback(new Error('缂栧彿閿欒锛屼笟鍔″垎缁�11-13浣嶄负215锛岃櫄鎷熺粍缁�11-13浣嶄负216')); } - if (this.level > 1 && catalogType !== "216") { - return callback(new Error('涓氬姟鍒嗙粍妯″紡涓嬬涓�灞備互涓嬬洰褰曠殑缂栧彿11鍒�13浣嶅繀椤讳负216')); + if (catalogType === "216") { + + if (this.form.parentId !== this.platformDeviceId){ + if (this.form.parentId.length <= 8) { + return callback(new Error('缂栧彿閿欒锛屽缓绔嬭櫄鎷熺粍缁囧墠蹇呴』鍏堝缓绔嬩笟鍔″垎缁勶紙11-13浣嶄负215锛�')); + } + } + } + if (catalogType === "215") { + if (this.form.parentId.length === "215") { + return callback(new Error('缂栧彿閿欒锛屼笟鍔″垎缁勪笅鍙兘寤虹珛铏氭嫙缁勭粐锛�11-13浣嶄负216锛�')); + } } } callback(); @@ -83,7 +95,6 @@ showDialog: false, isLoging: false, isEdit: false, - treeType: null, level: 0, form: { id: null, @@ -98,7 +109,7 @@ }; }, methods: { - openDialog: function (isEdit, id, name, parentId, treeType, level, callback) { + openDialog: function (isEdit, id, name, parentId, level, callback) { console.log("parentId: " + parentId) console.log(this.form) this.isEdit = isEdit; @@ -108,7 +119,6 @@ this.form.parentId = parentId; this.showDialog = true; this.submitCallback = callback; - this.treeType = treeType; this.level = level; }, onSubmit: function () { diff --git a/web_src/src/components/dialog/chooseChannel.vue b/web_src/src/components/dialog/chooseChannel.vue index be7e969..86bea83 100644 --- a/web_src/src/components/dialog/chooseChannel.vue +++ b/web_src/src/components/dialog/chooseChannel.vue @@ -8,7 +8,7 @@ <el-tab-pane label="鐩綍缁撴瀯" name="catalog"> <el-container> <el-main v-bind:style="{backgroundColor: '#FFF', maxHeight: winHeight + 'px'}"> - <chooseChannelForCatalog ref="chooseChannelForCatalog" :platformId=platformId :platformDeviceId=platformDeviceId :platformName=platformName :defaultCatalogId=defaultCatalogId :catalogIdChange="catalogIdChange" :treeType=treeType ></chooseChannelForCatalog> + <chooseChannelForCatalog ref="chooseChannelForCatalog" :platformId=platformId :platformDeviceId=platformDeviceId :platformName=platformName :defaultCatalogId=defaultCatalogId :catalogIdChange="catalogIdChange" ></chooseChannelForCatalog> </el-main> </el-container> </el-tab-pane> @@ -67,14 +67,13 @@ platformName: "", defaultCatalogId: "", showDialog: false, - treeType: null, chooseData: {}, winHeight: window.innerHeight - 250, }; }, methods: { - openDialog(platformId, platformDeviceId, platformName, defaultCatalogId, treeType, closeCallback) { + openDialog(platformId, platformDeviceId, platformName, defaultCatalogId, closeCallback) { console.log("defaultCatalogId: " + defaultCatalogId) this.platformId = platformId this.platformDeviceId = platformDeviceId @@ -82,7 +81,6 @@ this.defaultCatalogId = defaultCatalogId this.showDialog = true this.closeCallback = closeCallback - this.treeType = treeType }, tabClick (tab, event){ diff --git a/web_src/src/components/dialog/chooseChannelForCatalog.vue b/web_src/src/components/dialog/chooseChannelForCatalog.vue index c634b77..ae79e64 100644 --- a/web_src/src/components/dialog/chooseChannelForCatalog.vue +++ b/web_src/src/components/dialog/chooseChannelForCatalog.vue @@ -28,7 +28,7 @@ </span> </el-tree> </div> - <catalogEdit ref="catalogEdit" :platformId="platformId"></catalogEdit> + <catalogEdit ref="catalogEdit" :platformId="platformId" :platformDeviceId="platformDeviceId"></catalogEdit> </div> </template> @@ -38,7 +38,7 @@ import catalogEdit from './catalogEdit.vue' export default { name: 'chooseChannelForCatalog', - props: ['platformId', 'platformDeviceId', 'platformName', 'defaultCatalogId', 'catalogIdChange', 'treeType'], + props: ['platformId', 'platformDeviceId', 'platformName', 'defaultCatalogId', 'catalogIdChange'], created() { this.chooseId = this.defaultCatalogId; this.defaultCatalogIdSign = this.defaultCatalogId; @@ -101,9 +101,10 @@ }, addCatalog: function (parentId, node){ let that = this; - console.log(this.treeType) + console.log(this.platformId) + console.log(parentId) // 鎵撳紑娣诲姞寮圭獥 - that.$refs.catalogEdit.openDialog(false, null, null, parentId, this.treeType, node.level, ()=>{ + that.$refs.catalogEdit.openDialog(false, null, null, parentId, node.level, ()=>{ node.loaded = false node.expand(); }); diff --git a/web_src/src/components/dialog/deviceEdit.vue b/web_src/src/components/dialog/deviceEdit.vue index 7597c10..5591183 100644 --- a/web_src/src/components/dialog/deviceEdit.vue +++ b/web_src/src/components/dialog/deviceEdit.vue @@ -49,12 +49,6 @@ <el-option key="GCJ02" label="GCJ02" value="GCJ02"></el-option> </el-select> </el-form-item> - <el-form-item label="鐩綍缁撴瀯" prop="treeType" > - <el-select v-model="form.treeType" style="float: left; width: 100%" > - <el-option key="WGS84" label="琛屾斂鍖哄垝" value="CivilCode"></el-option> - <el-option key="GCJ02" label="涓氬姟鍒嗙粍" value="BusinessGroup"></el-option> - </el-select> - </el-form-item> <el-form-item v-if="this.isEdit" label="鐩綍璁㈤槄" title="0涓哄彇娑堣闃�" prop="subscribeCycleForCatalog" > <el-input v-model="form.subscribeCycleForCatalog" clearable ></el-input> </el-form-item> diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue index be7c505..0158cf7 100644 --- a/web_src/src/components/dialog/platformEdit.vue +++ b/web_src/src/components/dialog/platformEdit.vue @@ -78,12 +78,6 @@ <el-option label="8" value="8"></el-option> </el-select> </el-form-item> - <el-form-item label="鐩綍缁撴瀯" prop="treeType" > - <el-select v-model="platform.treeType" style="width: 100%" @change="treeTypeChange"> - <el-option key="WGS84" label="琛屾斂鍖哄垝" value="CivilCode"></el-option> - <el-option key="GCJ02" label="涓氬姟鍒嗙粍" value="BusinessGroup"></el-option> - </el-select> - </el-form-item> <el-form-item label="瀛楃闆�" prop="characterSet"> <el-select v-model="platform.characterSet" @@ -164,7 +158,6 @@ startOfflinePush: false, catalogGroup: 1, administrativeDivision: null, - treeType: "BusinessGroup", }, rules: { name: [{ required: true, message: "璇疯緭鍏ュ钩鍙板悕绉�", trigger: "blur" }], @@ -203,7 +196,6 @@ that.platform.devicePort = res.data.data.devicePort; that.platform.username = res.data.data.username; that.platform.password = res.data.data.password; - that.platform.treeType = "BusinessGroup"; that.platform.administrativeDivision = res.data.data.username.substr(0, 6); } @@ -234,7 +226,6 @@ this.platform.startOfflinePush = platform.startOfflinePush; this.platform.catalogGroup = platform.catalogGroup; this.platform.administrativeDivision = platform.administrativeDivision; - this.platform.treeType = platform.treeType; this.onSubmit_text = "淇濆瓨"; this.saveUrl = "/api/platform/save"; } @@ -252,7 +243,6 @@ if (this.platform.administrativeDivision == null) { this.platform.administrativeDivision = this.platform.deviceGBId.substr(0, 6); } - }, onSubmit: function () { this.saveForm() @@ -309,7 +299,6 @@ keepTimeout: 60, transport: "UDP", characterSet: "GB2312", - treeType: "BusinessGroup", startOfflinePush: false, catalogGroup: 1, } @@ -344,13 +333,6 @@ }); } }, - treeTypeChange: function (){ - this.$message({ - showClose: true, - message: "淇敼鐩綍缁撴瀯浼氬鑷村叧鑱旂洰褰曚笌閫氶亾鏁版嵁琚竻绌猴紝淇濆瓨鍚庣敓鏁�", - type: "warning", - }); - } }, }; </script> -- Gitblit v1.8.0