From d2ebfcfeca21c6433a21f5efce090ba1f921ea13 Mon Sep 17 00:00:00 2001 From: "gao.zhiyuan" Date: Mon, 25 Jul 2022 13:44:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E6=88=B7=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/app/lib/controllers/overview/building.js | 45 ++++++++++++++ api/app/lib/controllers/overview/conserve.js | 42 +++++++++++++ api/app/lib/controllers/overview/operation.js | 55 +++++++++++++++++- api/app/lib/routes/overview/index.js | 10 ++-- api/log/development.log | 34 +++++++++++ .../0.0.1/data/1_update_statistic_data.sql | 9 +++ ...展中心巡游出租业户信息表.xlsx | Bin 0 -> 9349 bytes ...展中心巡游出租车辆信息表.xlsx | Bin 17985 -> 0 bytes .../data/道路/乡道第三方.xls | Bin 486400 -> 486400 bytes .../data/道路/县道第三方.xls | Bin 110592 -> 111104 bytes .../data/道路/村道第三方.xls | Bin 2802688 -> 2803200 bytes .../工具脚本(无需执行)/dataIn.js | 20 +++++++ 12 files changed, 209 insertions(+), 6 deletions(-) create mode 100644 api/app/lib/controllers/overview/conserve.js create mode 100644 scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/事业发展中心巡游出租业户信息表.xlsx delete mode 100644 scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/运输事业发展中心巡游出租车辆信息表.xlsx diff --git a/api/app/lib/controllers/overview/building.js b/api/app/lib/controllers/overview/building.js index 68611d5e..4b362c8b 100644 --- a/api/app/lib/controllers/overview/building.js +++ b/api/app/lib/controllers/overview/building.js @@ -1,5 +1,7 @@ 'use strict'; +const moment = require("moment"); + const areaCode = { "360121100000": "莲塘镇", "360121101000": "向塘镇", @@ -35,11 +37,30 @@ async function roadState (ctx) { type: 'road', }) + const bridgeCount = await models.Bridge.count({}) + + let constructionYear = [] + for (let i = 0; constructionYear.length < 4; i++) { + constructionYear.push(moment().subtract(i, 'year').format('YYYY')) + } + constructionYear.reverse() + const roadState = { // 在建数量 buildingRoad: 0, // 已建数量 buildedRoad: 0, + // 桥梁数量 + bridgeCount: bridgeCount, + // 涵洞数量 + culvertCount: 0, + // 施工统计 + construction: constructionYear.map(year => { + return { + year, + count: 0, + } + }), // 乡镇统计 townRoad: { @@ -84,6 +105,22 @@ async function roadState (ctx) { for (let r of roadRes) { roadCode.add(r.routeCode) + + roadState.culvertCount += Number(r.numberOfCulverts) || 0; + + // 建成年份 + let buildYear = r.completionTime ? moment(r.completionTime).format('YYYY') : null + // 改建年份 + let rebuildYear = r.reconstructionTime ? moment(r.reconstructionTime).format('YYYY') : null + let corBuildConstruction = roadState.construction.find(item => item.year === buildYear) + if (corBuildConstruction) { + corBuildConstruction.count += Number(r.chainageMileage) || 0 + } + let corReBuildConstruction = roadState.construction.find(item => item.year === rebuildYear) + if (corReBuildConstruction) { + corReBuildConstruction.count += Number(r.chainageMileage) || 0 + } + let townName = areaCode[r.townshipCode] || '其他' if (roadState.townRoad[townName]) { roadState.townRoad[townName].roadCode.add(r.routeCode) @@ -114,8 +151,16 @@ async function roadState (ctx) { roadState.greenMileage[r.level].canBeGreen += (Number(r.greeningMileage) || 0) roadState.greenMileage[r.level].isGreen += (Number(r.greeningMileaged) || 0) } + + let corBuildConstruction2022 = roadState.construction.find(item => item.year == 2022) + for (let p of projectRoadRes) { if (p.type == 'road') { + + if (corBuildConstruction2022) { + corBuildConstruction2022.count += Number(p.projectMileage) || 0 + } + if (p.done) { roadState.buildedRoad += 1 } else { diff --git a/api/app/lib/controllers/overview/conserve.js b/api/app/lib/controllers/overview/conserve.js new file mode 100644 index 00000000..687b4bfb --- /dev/null +++ b/api/app/lib/controllers/overview/conserve.js @@ -0,0 +1,42 @@ +'use strict'; + +async function statistic (ctx) { + try { + const models = ctx.fs.dc.models; + const { userId } = ctx.fs.api; + const { projectType } = ctx.query; + + let findOption = { + where: { + reportType: 'conserve', + }, + attributes: ['id', 'road', 'time', 'projectType', 'projectType'], + include: [{ + model: models.User, + attributes: ['name'] + }], + } + + if (projectType) { + findOption.where.projectType = projectType; + } + + const reportRes = await await models.Report.findAll(findOption) + + ctx.status = 200 + ctx.body = { + processed: reportRes.length, + reportList: reportRes, + } + } catch (error) { + ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); + ctx.status = 400; + ctx.body = { + message: typeof error == 'string' ? error : undefined + } + } +} + +module.exports = { + statistic, +}; \ No newline at end of file diff --git a/api/app/lib/controllers/overview/operation.js b/api/app/lib/controllers/overview/operation.js index 7744768f..4d6e84b8 100644 --- a/api/app/lib/controllers/overview/operation.js +++ b/api/app/lib/controllers/overview/operation.js @@ -44,6 +44,59 @@ async function busCarLevelList (ctx) { } } +async function vehicleStatistic (ctx) { + try { + const models = ctx.fs.dc.models; + const { userId } = ctx.fs.api; + + const taxiBusiness = await models.MunicipalBusiness.findAll({ + where: { + type: '出租车' + }, + attributes: ['id', 'nameOfBusinessOwner'] + }) + const hazardousGoodsBusiness = await models.MunicipalBusiness.findAll({ + where: { + type: '危货' + }, + attributes: ['id', 'nameOfBusinessOwner'] + }) + const passengerTransport = await models.Statistic.findOne({ + where: { + type: 'vehicle' + } + }) + + const vehicleState = { + passengerTransport: passengerTransport ? passengerTransport.count : 0, + taxi: await models.MunicipalVehicle.count({ + where: { + type: '出租车' + }, + }), + hazardousGoods: await models.MunicipalVehicle.count({ + where: { + type: '危货' + } + }), + bus: await models.BusCar.count(), + taxiBusiness: taxiBusiness, + hazardousGoodsBusiness: hazardousGoodsBusiness, + } + + ctx.status = 200 + ctx.body = vehicleState + } catch (error) { + ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); + ctx.status = 400; + ctx.body = { + message: typeof error == 'string' ? error : undefined + } + } +} + + module.exports = { - busCarLevelList + busCarLevelList, + vehicleStatistic, }; \ No newline at end of file diff --git a/api/app/lib/routes/overview/index.js b/api/app/lib/routes/overview/index.js index 3def0d6a..1d37acaf 100644 --- a/api/app/lib/routes/overview/index.js +++ b/api/app/lib/routes/overview/index.js @@ -3,24 +3,24 @@ const operation = require('../../controllers/overview/operation'); const management = require('../../controllers/overview/management'); const build = require('../../controllers/overview/building'); +const conserve = require('../../controllers/overview/conserve'); module.exports = function (app, router, opts) { - // 运营 app.fs.api.logAttr['GET/operation/car_level'] = { content: '获取公交车辆层级信息', visible: false }; router.get('/operation/car_level', operation.busCarLevelList); - // 管理 app.fs.api.logAttr['GET/manage/overspeed'] = { content: '获取治超详情列', visible: false }; router.get('/manage/overspeed', management.overSpeedList); app.fs.api.logAttr['GET/manage/overspeed/processed'] = { content: '获取治超监测点处理数据', visible: false }; router.get('/manage/overspeed/processed', management.overSpeedProcessed); - // 建设 app.fs.api.logAttr['GET/build/road_state'] = { content: '获取道路统计', visible: false }; router.get('/build/road_state', build.roadState); - // 领导驾驶 + app.fs.api.logAttr['GET/conserve/statistic'] = { content: '获取道路养护统计及列表', visible: false }; + router.get('/conserve/statistic', conserve.statistic); - // 养护 + app.fs.api.logAttr['GET/transportation/statistic'] = { content: '获取运政统计', visible: false }; + router.get('/transportation/statistic', operation.vehicleStatistic); } \ No newline at end of file diff --git a/api/log/development.log b/api/log/development.log index 0c8e8e9d..58fe7dc7 100644 --- a/api/log/development.log +++ b/api/log/development.log @@ -7268,3 +7268,37 @@ 2022-07-23 17:44:52.238 - debug: [FS-LOGGER] Init. 2022-07-23 17:44:52.386 - info: [FS-ATTACHMENT] Inject attachment mw into router. 2022-07-23 17:44:52.387 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 10:08:50.950 - debug: [FS-LOGGER] Init. +2022-07-25 10:08:51.117 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 10:08:51.117 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 10:47:17.059 - debug: [FS-LOGGER] Init. +2022-07-25 10:47:17.224 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 10:47:17.224 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 10:56:44.872 - debug: [FS-LOGGER] Init. +2022-07-25 10:56:45.027 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 10:56:45.027 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:06:22.520 - debug: [FS-LOGGER] Init. +2022-07-25 11:06:22.625 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:06:22.625 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:18:32.406 - debug: [FS-LOGGER] Init. +2022-07-25 11:18:32.483 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:18:32.483 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:22:30.726 - debug: [FS-LOGGER] Init. +2022-07-25 11:22:30.802 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:22:30.802 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:23:03.672 - debug: [FS-LOGGER] Init. +2022-07-25 11:23:03.765 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:23:03.765 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:23:07.584 - error: path: /build/road_state, error: ReferenceError: r is not defined +2022-07-25 11:23:14.647 - error: path: /build/road_state, error: ReferenceError: r is not defined +2022-07-25 11:23:34.344 - debug: [FS-LOGGER] Init. +2022-07-25 11:23:34.430 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:23:34.430 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:51:12.541 - debug: [FS-LOGGER] Init. +2022-07-25 11:51:12.639 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:51:12.639 - info: [FS-AUTH] Inject auth and api mv into router. +2022-07-25 11:51:21.718 - error: path: /transportation/statistic, error: SequelizeDatabaseError: 字段 "name" 不存在 +2022-07-25 11:51:27.861 - error: path: /transportation/statistic, error: SequelizeDatabaseError: 字段 "name" 不存在 +2022-07-25 11:52:00.697 - debug: [FS-LOGGER] Init. +2022-07-25 11:52:00.795 - info: [FS-ATTACHMENT] Inject attachment mw into router. +2022-07-25 11:52:00.796 - info: [FS-AUTH] Inject auth and api mv into router. diff --git a/scripts/0.0.1/data/1_update_statistic_data.sql b/scripts/0.0.1/data/1_update_statistic_data.sql index e69de29b..3e4840af 100644 --- a/scripts/0.0.1/data/1_update_statistic_data.sql +++ b/scripts/0.0.1/data/1_update_statistic_data.sql @@ -0,0 +1,9 @@ +INSERT INTO statistic (name, count, type) values ('客运车', 0, 'vehicle'); +INSERT INTO statistic (name, count, type) values ('标线', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('人行道', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('标志牌', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('防护栏', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('检查井', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('雨水口', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('路排名', 0, 'road_manage'); +INSERT INTO statistic (name, count, type) values ('养护责任牌', 0, 'road_manage'); \ No newline at end of file diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/事业发展中心巡游出租业户信息表.xlsx b/scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/事业发展中心巡游出租业户信息表.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..58c137807d8daa9a68925d590faa9e1c4c25bdc5 GIT binary patch literal 9349 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 E7uvNEzW@LL literal 0 HcmV?d00001 diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/运输事业发展中心巡游出租车辆信息表.xlsx b/scripts/0.0.1/data/工具脚本(无需执行)/data/运政/业户/出租车/运输事业发展中心巡游出租车辆信息表.xlsx deleted file mode 100644 index e080922df1126d7f0c8b3e2c3aedecf73bbfb9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17985 zcmeIaby$>L`z}04H%dx~q%sse^p66OK3uQTY1UwKD2n7TJQGh;Wf97z51A!0_ zK_Fbv1e~t8gT0HHy^Eo`r=yv(K8uH)?d_K%aCDiVYrxMpe1Mk{XZYNm=*UH=4QS;<63`O5)9X zcV)vU;S#;=#u;!kBC0=TOFxV2@AN`W8io&Fo`;&hA4dKVoJVH+*cywdwzjpc1$!S{0$Qf+QfHa7NPaY47dyk zHed-Rb^EmM;`g>BjKC0~DRqoA2#c#h`6NZ6*w@6xsNvhYdz_r%Y&I3_ zRJiiKGYb^8U2kNB9}LV5&s=OV>{(gaKaHHoovVo$m#Xo(8P+q{Z^3mt#eaC71Oz%i zhX*PD)`OJ~*r@gaV95h5h7Rh1GX$I2I`9Hn)e@)LljpQF^#*xmWHzH!F2=Qe#%d=2|+@ zQg&nSA#0DK3=Ql|V@eAvymsO!QX|cYNn1mYoVXO@p_BZwhzR1^xKk=)4l*S?^zAip z?sGPkP9w`Nu{ZP0#^V+QLmO`?GYfqEXpMsGjr>~ZSm3CvnnS_CgY}!QaiZc=k#t=C zF1H17bM%7VvHWDQE}0e(5C;lZ-p_vvMp>lZJUoaalYC27gJKEY)AyxTl)q)lTRtLyK!$WqoF?Q zX;*?YmGNm%_GpJE-O(nK7gLaNT1IsR5u(v(sfWJ~ zX^s(+axBWtA4^l#d8kgmn9GhcC5=iB$N93TNYafy!QB}@@V2}zHN7CMTKE{7}*3ZsU z%fP~#kX9PzZi0n?TG3^-?pyb;JD!tcJW?K=m_NQ0^8jT%{oUX-!eXSYNaH!`q_R*s z1@F+1GwiSe2JNOa`e;ncsaP%L@oXQ>uE8(H+A@d^^;At`&?N5slN>sg@gr{v!N;kJ zILTPw@zzS~1!eJTwPRE?d{TT$5!eIMt##$9Pr&4%VrULG_zu{~Z}YC_5WEtv;(g_H z3&J5f&^oAyX1M4gkfLuPzJ7ha0a_F8axa2-nDsl+t?#%>FSE-PQ1+~XY|s)pUn|j< zqCX+5Bd}8b6zWc+X}0x9ij-8TY>!qEW0gthuSLfo|Mc7m83ck*fIxVcMR&F|0-Kqt zxqz+gEu3L}8l0@_j3J&%7(NYL9pYl3g&@a0#l_x!t1-TpL1 z_wWWgcSWuqx4Ol0^K$1ETN}Ts-JYf+jTA{C?HV@Wv0Q%xp8mDeMo6;Y1n-!&>tZh_ zRc_3;(>1-iyROzV#&vRfc~6{61rL^62T#5#sU&lmzv6dh@1IC&p2TjApYWMmnVul!ETEg#|YZCxR^VZ+{Pf}@h4v;Elx zozla%P;9ft42LPm354;DEIvs^PWNl?6SM5~++(oOl;*F2=qK_sOFWN&PvK12Q^X#L0U zm9y;%LK?P0EVrh*qAl>a$?;O$kDfM9R^yuE`3rQimSEX$CXV&abAI~nv!GbIpE*1> zy-JwU)w<7!z+xztY#5ENw6VLnv%k3$FV*_ZpcGpFEM}EREBKnvad0{8Jz9C`CdC-mYme)E9>NOs@0-dv=*af5a@g8p>DX9;N`C)5 z=TqPQncR2qBnCT<)!$DkPu8~^*>YjF)o^R|Zua=mk)!{4hNdRNuy9GjkpQ|dUGAYn zSiQu{`7vE}V;`oedd)pAs&WuZZS_?<85RVo-B_zBO$9`eH1c7GDFc#nX0 ziY1O_W&D9U!Yosh{#qKRRp;EzYoa?Cmh2IuM4oCrRm#amLsEm0Bj+Z&<;8zFHd1>VL8OkcS!$kBFFS`|gUMi7I@jKIYp zWPl$bChV3TO5j^!kgI}pWv1%2SJPrB2&nfmdpL4D=d*BB6RE!-#5Xyj3|N`p$F9Ho z(oz+k)Y zE{b!n_GuwTizXr|t(-4Q#jx}XRZ*l-g1-{6^)M~H-%)0Xz|%(wRDK0gf4Jj><;xH} zz!>67iSXzM!}1=YSh2vKm~{Q%^&9~N#U&1%q2K{8no2GOT_J}A3Y^(ifgDA6T1|?` z8*8}(!;Xzufw+8;vNrCg>L~PZ?e4^3V`fWPJFX#{^^UJ(Vu-wbmnd2y;FfU^l%eWqjsYCv#*t{^GuK|z?u-P>ta)&Yt) zBKtj<&;^4*Y?&RDFTiVA&P`Dc1p--R;YTT9?r=I>ixQ^g!%p_Xm9AsO7m_bfU!lg1SE5+R3VVyscAM;O zrn;0F1?k-w^)b{BrD>r8Ib&)HSh-`dP7I-)Sb_+%_7>5Eb-QO9}}2Fy2nOe}Xm`vY2knwHv$`!;G<9R}kWf(den^_i&D{!K-Qq6u)lLd}R5Q^R7I0AcTu~3RbS@u9X|iK``}#eEzBdg%*4bo+ zHQicDo5$k~x5Efjy90#8M=%8k3e*XjNt?ncaPD^p6gTvvFjRKlfyj#8#$dlaft|&x z!4RL`5Es6sAcXMf+s$XULT}TzQ{<*(Dici3!BN2QJ&KGiu5e6#ll>fUKL7Sb{C4-` zJ_6D#1_(ISl`nF(G&6H?{$Z;x9^C!MR0l_Y3~yq?lQ@9?F7DwSI~al?uEtGS^I#F) z_;?g)Eb-X^-kEnfso95x1;^e6u9Opj0upnq=S%~&*Fxq^2rb`kd57mE6~3b0{6wz&?Nlu0t!?$w1ebg?wEGh@B@dXe^;wvq#h1YRT6HkqWigUKB? zVky_x!=<{G{gS1+19KjNP(}8-^5mO$wlOQEsHyLZ>OHG*5)sMOm{k>0$V3SrDEW|* zG_kKJV4r$JM8w&$zP$0^Tm94tyFYZLa_&WzI3@Lh412yoF~VbN3i3YFaf}UUT_V>t zYJA1e7u&%cLG;f*Ru;KWy$k1laNqcmh|u$tnw$4!b5j@@?*$t%vF^rEZ`rp$K@sdK+x9Hw*XS_R+0Ilpw;Ik*`8VaPSL1eeo zImHysQcztUYqJMd-{-03#=% zVP7Mcg>&{->#rn9%o+u7BN>&vr;=v%RrM>=n4e}>oeyLv`_w~$P?fd?D$ZC;;S zNt9bG!E9lJaO-aD>xiZ;Bbcl{@Y5vm7((KrTzDh7c|_aynL8_qgr{GkgD_3Cz91A> z$x8ABGuh91+@>4EomO}x=dh+sw-~yoCms6e)$5z@GmP^eCpBpHHu~RN>;h*0!LZt=l{6Ef99^tW3gj0;oB{96TY%!2JTjLHS<&< z8)^eh19CDMSgH4uQ71C*wwSH#-V|GREceE)ros%!p^Sp?(XPCoCy#EUI)~)BT?4 z&IXbjTS0EYa|2=PU#J;Orecwwy(C(9S_s+%SBvejx4_*&Z}yG8acA6u`%#_C+6xXj zoHKJufztPiHL;EL^dv^cwHOsHd1~z(p88|vc*j*~Gj?P4NMmmwAB8Wr6`0qf9I)Dc z;rEDHyPh9@M6+TS<~NoVbnX*opx#9|m1t2!R9i9mY`DH^#Iqfpdy=YCOG)A8JDSgv zx=q(O)|xUC*uxZ6Nn83*{8nT`QAx+O9#RD%Xp$@A?^C8WHPjPZ(wHO_+>(m}qb^FY zuYE1retVz^t(^W^c$xeAbQjGO+H1b;uSs<|Hx>(JpCb*HugcK zid?S-=c}YwOWhhZh4fsD;LP`qm`LbcMixO2g%OxanoA9pFc-+Gp^%)H*mr=~ap`U*_+ zLj-aV6?V%3%~d!wr%?<^$G(sZCp6JmFV@E+M8y$eG`553+7Yj$EpBn2YCj0+ia@G)1nR4mt2`H=gN6NZn-v&6Q6>qJ zJgW)EZnPyl=-g*HZ$Apecf(J;uOeCO*$gi}i~#4Rww<$U?twwvC^q6`fjBJgh?2Fc z$#8@WvyhO!$D#Ugs}0L!&zK#>(Mtk-YK*zg(ZTuW)tnZtFUmrLGDq`FsOgyQFx&`U z6V<&p;vQONUA3nb&!lF0@3m>Me9;IzSX#^Q;DhT#5Immf>lFK#O1L2YH2)1}4bh;| z$?Uk*&&#H*eO5Npo0B!e#z=XJ>ohLkznv1&61+LF-7nvf6fmUfidrHp*H>jOL9^Jl z;V3JZgan%rO!w*7@DHZ8zu6z>c|7~RolR@aLbV22?3i5ZJRc?L%pi+!Kxis#GJJYB zXaQSP!>~^u^PV)f^ob4VzWO_^d81+nUb;M4j(3yk zPylw`h!XAkBb#!?3?q&hniJFDr7a#|e?0l&8)b&lJIrOGHh0r3L#C5AA=7B)9?aI7 zU1A>lwliW)-5AVuI9!C*LWotnYKw1fvJoaMqt6Vkda_)OiQgsKu;myaZ89P=4Vnjn&$bGF8$bvF4NY zLm=DdJS9<_wP33%PtiwBduAE4*pYHzPCGZd@sMLgjy$fMM&GcA?s=7y*hp~>x%(KQ z10CvzqUlj>?LHYKFHJ#z4TKjJ?>BQ19^K%It3W2QzlpBEiixdh|BRrqqK5>_V~-3y zC{Zu?g(=5ap+-s4OlRL~%d`*?Vs0I}WpgZbi9>m)o{2t5=j)eFqn_93qC*NzTEJB7 zbKC7hhQf`lT3wNSYEiE$)FJZhoqXilOnl~3t>3;Ga+FXNEWg7Z_A1^uHhU_#5W9Bm zn7)Yhq($Tb2C0ZwT`PRjwmtD%xd`#z1zH1n|3?#^LPgvqJvX%O6^4&`1_~eX%y265 zguNE)B6#anQY+N(5%aK+EPx#)cs8wEkIJCK1ykpssX$h+ zs!qdFkD0sKRu{wvgf+WH&za@0)@|FuM3pwB)Z`i!73IY-R%Sc{X$fs%g&Ll(e5>t8B--E(8 zaSKv%g!B^B9yU|MKNCShB6>K92ds|1gh`pMbvI_f^N6oi9w1s9sA47dE;rQm8mrX| z>{t7rF6Kq|`qiHwZ_RWqR^OQ*H%JwzJ3sy26-_R5zP{dJ?Ri9AqLeNu&~S1(R~Kz4 zG}S10lyMRkE9`f$c@AB7Fl_jKHnVtg(r)o}X194PHiMkp|LEJ%ZrFkFl)u-(Rv2sJ zxIfEIe_~0-q~PHB*>UwEcB4Ra$o(C5_P@{7wb!19WeA_{IPOeT3;WSk=|jp(4utCkZ@NxBwKs6P)7yCB z=DuEseb6ZQNm$t1=U|9@LwK^$|NVI>C68y7{-|N2&(R6g@KnurSz_O3_zZn4eRERS z?{MF*=KOGby(6P;H+-?tJ#pl_v;OQ+Kj&V?`KDK59nbgE{gG%O(n))Jdu!rU@uu+U z`eJ+S)(H8re%OJb&|ss%`N>*;*g89}CvX$< z=**^WLGZlZ#T|LhJ$kd@1iG3ymHwdk>)cGD`&iz9uk&$j!mi)RR~6rPEbk-NhBgg+ zPELnv=MK(|2|M}9M75Q;G~8sN^=0g3a%PLBnwdiQ2-|9+JJ@s~=k7V1*Bj`t=^0(%VWZTOl7(g-cx0Z=yJIo{a zijwWWqHT1jB*-X#zAW@+aX<3ga-G7|cY8HMzhir6Yf%G`PE=46dxR5)CB4BloyVF1 z2{W9T50%)IID+ib2d{{32a$ zn3f~v9a1@v`ELTIJ(DdL)|2zEKXe0ZLM%XMJ=<3fXb# zBPL`~fQk*`_FxzHek>~ua>COjHMl5nGHjn`bVLF)xdp!Ii(a0l1dnHu0K za>uXf?3J51Vp(o81EJ8G=|YU~GR?g6wsM)xirAiBtFVHhoC#~aycSZkFC!kMgwoERQ4B|f%Z8?_(|ijlOkBSy5o9>o&>N+r`z6F1i?u5ajs$Y{XLJAYfv@E^$7kernQ z13CKF)ggN$TH2Ms0g=5|)L_vgfeHN^R)zqq7!e^_jzqDQEcB+-Mb=K8w)=8^^YaCG`cYRZT_{zRkik##FSw6E3$k!w=T2zgD z-NzjJIJ^>CSS)jZK3N|{o8zXb)(63K$FB_>#poU$SxOy<(F=HGUsL>*McbyioU$@? zQ)Ehu*akA7u(>i0W|_ciETxmGD)@xaJ7vZHw1#o;R0WI_r*@J?FV~lJ4t()1JO;646$ho(0UA0OqwDSi|?|XYja#;i0-I znY9$D8t$yntiGC2KYQZ5u|6x({34sBI5$@Lr*|D0@>&Z>^IaRvEmDF}3ly5-IO3XJ z#d(!e9^K?8NsHBqLx-qi4ONcP*x31K-Ey2p+1uBSX7>*fas>khp=TfL!_QR9*( zxb`D)OFCrhShg8gyBn`^vPk*Dz?oc#>~35D#OMe!3rLG?D&+=8)wG_6f=A!2VwC(S zwrW)UIz_^-DLe4CVlD(QmwR;qx#!iaLf5yS2Z}upL{6FdC-Tfyw#1!*uvjMC?=4bdbo+e!_`h06EvF8Y=>)t2*I2yKFB@#L zkRa}~TI@Lw9ZPN{*b5zaR9sE!Jr)^%negz{9IsV#i2_(D+Bo*jS1)$^n9{kt;lY4x zy-LiNtM6d^G*FF~S#d$6XqS_Jj9Om$vdG0Goq?lxm(BDNXeRJwGtHG#PAIiE3JHDb z(RWZO*0yyKw-!wVudS!f^(!lOId76o^fJe)D!zf?%zQsVZCqK=>5hMOeCJm#Pc_~N zA*BToJALuIirq$T{vUn3#}R}u1?(v1%Gg}*iZP0tJ>}DC$pj8aQ-8k3FYFFw7mrISc$MN z!i~=7qqRtop7YK_BAz&^N|hQ)*99P1+8i!aHC4^1fq1G)`WLV+2EqdMZ*xcs06w3= zm@DnP{yV4Rsdf}l@otI1`6O(u`2B&g9|88vs!*;Bm*nS9Py2=hbWj zuu5AGd;G7s<#1&1d0?H?t7Oyn;#@KY756XcN`{kP_GehHU&8W}7js51FJTrS>UWk_ zPq@`D#KD5SU1dgI`^*|h(rM-D=kv%~$*hHbdEN==Ts8-WJd)*$&Kg!}u~d&L z*6>bYHEeP}KnUNXnL2@QiL$v1@s7b-!3qg*lT`+EG(9%7_+S~&qdt+bk)_5;&> z%2-3N);u4tC=e^G&ecP%HV2btvQy&tv z>GNu`QfC$YmU6+BMgX3<`+nlthadbSD9|jx+@m9FP ztEqJx0|*f&gH0?80rf{TjsPj!`}n+sm3RYURG3$pF{x^QvVX@;j8|262sGOIr0_!) zX+dNYegUHtpnw#xRBORG#iYL|uQC>gkPuvCw30OQB0q#h(GoEs8r97q89=jOEofsW zPGd_wYPji^uad3jpwTSfPyuPFZwm1U%2B0*@&p-Q(SF76HO_EZpZ%mUt*#g`$J`DO zRVBd4fa6FL=N$k<2}=E+@DxF%ccr|{-PhamvQiTku@jayGN|IfIuk(R_ZS!O7Im>| z_+3(0t?a6~BAps!w8=b#^ID*~aDk$KsE_-Lq ztLq;S``K`b`K^<1Y+|JycwvvYs26d4~5w4!PZKrolj4+Kl_l0dG6{=(L*%P0ZN=u(A0 zQ8t*9{6m8NXq-A8nuJT4XSwiGlRsqsO8EGMg)U_tD~-te-+6x0`cHZOn<0Q42mR~k zu`2abZ=$D?XJl3a#7Muf1JT-o5wZuYxEIid4!>+=( z3t!>BG(X%wY7cPn*w!T%L-7_cu0me6X)GHJ<^p8o)qFxF7h-ufK!w`O02PkM!xjgC zpMgy%xm5erg#K5#`wsb1n)f?59OdW%*I)Zxc&^C*KZ@N658p4D@?NwHx8GZYDtXyo zeCqoJyo0c)D8VAk-B;k+=ji~;)rQ(Bsq`SZ{K3E8eQE&br`btV7jhO{2>YdR`&HP5 zqN1*N@E`v~04Uy{gak{}0@?4x^cOyA|5Ez@iI4nF5IFo!f(O72@auC+TGNMz!2^$O z>4Of^1Y3?v>{kIbX(50vc^h{*yP&3aULUJ2I9764Ey@LdILpd5>9rQF-%l9xJ9`Yy ztSW}9^d%)j2lQ>#qpNfX>xq{a3-OX-a!sDJ@aS zTHIe<6Gxo51+c=i`9Zu_c>?XiRn??22CL4I1#d+a;KW;f9jf&muBg|0S8f_0iV48` z153-x@;1K*%9{hMB&&*z#+*y^F6R{REI-ydsA`iBE`9N;} zD;*dG-ZK8xuj~iqUP}0x_J4{AB-;IRH4CjM9vPuE60>&a1jxY=kfwouMZNH(rwTD2m>AWY&0S||J8`*2B9 z*m~zzyYzc#dw}vtxiG;t4!}eFLnT@yomqo` zzUlmMX@I5+KKa|;0c`aS^ellc3jy3)uG*JIa*GAdAkWt={||`IW-}MJYP6@&7=e@ny8S*}NF~cOy(2CK4 zWTQ`iAHOyGcrLaxOJEAzlCZdRgD0M<%0Z2agu)w=O`?7fgC73|b9Yd8L+^(d4j2VU z6%p7oaDBg^Wdj&+SnB{)w)x-rrQew1AAWM)6MS>Ef(CrJPZ!+5&U!%SS2u59aTj_i zuJ8ILtEqmX`NE(5}aKd>qw z{r9%ae>R7|C7b5#1MFSAdoSZAY?BBWZyDG!1K5+&05)hM0Y3rLp2goq_W!Q|2WaZQ z8}OcJC1rr9-kgX_wWkmLW?&W#-tq7e@Wl7es$+4)!2{-ds}>L*n8^Nh>kY8;`@K>d z$`{ z-oIHI=nL6w*k{$5_@>)9=CkHbP9nitgE}Ufy@uGBPf<@Jc&DDK{x;e3&>WLKuI1ng zaW5s}=ZZ>wH?6uyc`ZF8k3n7(mFN&njWqkE$Y}C=0MuDk}A^#Y4qjswHy5f9_63>p>@#qtkz~l$nYlDNCRO7OE1-% zkEOe@&AU@+{s#Eu%lHLrHXv)hM`0ftz#A=ueQ4E%`*Gq$E=`Xs`%q0(mrGF#Dn1Gp z1ak_?SmeZfB^}VjI*A`ew8`~N$cfoS8@S(>Z1d2N*Ihdc!7kpp^ogmF25;gJ9Ws-V z?m_?!?wiyIn>hHvT$zjKg!>>%_1zNu!rCrwXJBUoQkI+owJ}DZ@4~pTA+PeyqbMrx z&MXZ+qi!7~-T^P*Ph{kI%OE!k?(-t=$2Y%Mt$SEh(Hm2-5;b=|fS><_x|8#5Norjo z@q(T$B`?aG)Gi=a0#6b6L(G#0J*}LbaB}9*1n2FL9zi%Rm9O{JS-y+#o}31QGs{Xu zmsD|Og0OzZR^nA&j=jDZAA2iS!-`DTQH+7V_D+24i}W0J)hA%A6~?eL+4V=2eL`}o zO1$o-xE%?DObMBd&txIcgt_4|+aIyxwHE?hw@9Xm7sgkTxf585ReD-!izi7$-a)nN z!C{N!j8Y6I!~w}#Sl%dW^im8(j&iR%pUd8PDxHhlmh+mlfI*5upAA;(8w;cZYFGm& zOvo#~2~_c^nwhi&?~$PPysD^t@2+u`k{UNbx8ub<>5T3SwZvF};nx_Yn9@>UbC0W@ zQe!Q`Fm!yC>{u>sLN{!R?MvOeN;MQ$qbf$Xw_g!I?|j{slMdF3&m+xGZHc2oPkSyK z=d5hV+s#;sJ}7&_B-2^|6q+XLqR>p|ku>27Oh!5j%Ed3%)v`%n|D522?m{pN)PeUQ zuBOykBlz=~O>#oB!n7D-clyB^e>W@EPdlRN^|`HnDHfvr z-`Bs<)KB5Dj@eEfvinx)r2Cd-@J6h6t)6U}HSh~z2DJ^nXWHG|EHUW+tY+O<&U@l= zYdC3V=d88FiM(&8y|{F2t#8)oq$F+JV8F9fp&YC>y6pXtg|*YToO#_RQMayhc2{ln zZT`Ak0^xGMtIB+9IxERZWBA@XLh7O}Q}8G1lkKxNWQ_uN)F%?h)%sAUXRn_2ohA`Z zMbYmAM+*P)vVJl8*^_eM1%D=d5a`b3%leMM*$o#nu$q~R3+xaF>mQHrvKU+0uc-^l zH7nx@TAk+e<=?L1dCc=fLT;}8Rc?WfmAs{nlM@}6m`H4lX|@^9vD;uIs2BR|G@*(`AXsTI$fF9K>*2SZy6QfV$lBj9@@pHTDk;bgCMiX62J_JTCW2aJzat8&;Mz4=Q4j0x48<=Rg5wm-=6bcD9 zRQWr_+pp>z<5mgtzIh|^$$#_1f&14k337UH(Q#E@)XXhHtrmvH9n3+242gN=wtHyv zV0m1|(}jHcXRNr)W!%Gy+Hz}XTC%lr=~|3+=9S@+(^3Xf6nP_1$|2zcWsZkZ4TLS9 zhq2*#+=>hsHCFOH)3%nVXHeFw#607gvf0X-5)MKJ8qaR-&V490(wTB^B(d+6SJ~+t zNZL$J<1|n#N~!)>)Df1udI$W~1ylPGN1VpKv(c7bsfBOjZr;xuYm-Qwwt4=dMxhw2L&<&v9UPFEpSdEq<^`~Bt-uE(H+J* zdlwO4-i-idxDK4LGj%Xg20J)9vzj=7%`Q)L|Ig7npdUa_V|3-3*@!|n5zoatd{b@> z2SVI3%idrj+zEH5I2y!HftS&%_IDVyue`_lUVf5WDcy(KFzr4r>BnK6j%ze3Pp>_b z-`3GU^qMGYra>#rj_H?_p@ZCH(uqHC=j{)shwqiNVk<@>@rbDiUcN?_+K*t;g>^eW z(ntK*vE*rH53525r&&hDwbZt4Qgp{SH7O@#jD6|*gwz&Ps{To@kR3y_;NbeSQ}3gG zU*=k_Snz%0hpEcs}}Vofx@YG>c_fwz0Tm!1h&LXA&s;SBXj-sk)0fh z{cHxo9X^B>)akLNM_=^MR({qrmgGEqn5r;rNmPzf=$2F(5vJnK5s8jiMDE`-L^fMolj`FAdx*BDi|6-Is%-3Jd z*q?*`uI*Ptf*{?E&Q=jdNAmlOHr@*j+?EQbhS5Cp;iK4<|LBZ|Ww{Vzu+ BL9qY; diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/乡道第三方.xls b/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/乡道第三方.xls index 577906e9d66ff4e2877792212e547345471eea7c..cf53b8d6e3c5c93773df9518721c6b5089801428 100644 GIT binary patch delta 1338 zcmZuw4QN|c6#nkZ%eyaW^Ino>`DvFXrFL$*lC}*$~x`hIZ-4Y{8c9=h)SLEF$wGe$c{ zBx#LYaEpx5PjV@JDZMl%^FJkz*{n=1&P9MFJ_FXG35w?YBMjS-@tEE6}fj zCcY(t%9{vAnD;yPTyV91@7}jZ^4|vkjJ14piW`9;Hemq0{M&swf7&|dBaPE>Q;F2LdrZ`%ztaMjU$zzZQ@@hGq)4h$Rs?qe8b z7Wm!=Ouq%Z9|q1J1CAuP|IU-Ns?f3`wn*UVHv~SlG;AKxP`;tz#BLW3{OH1_tvcKn zbzEEL#_I()K3{6!*o1*tjl@42Wv;PH{+>T{dferHlOImx@BDb1IC{pSu}_9_#y!Fs zu_ni?Nx`HsxtMe&cfp!8vg6IaV1i-LN{4t#Kg<$8%`61ES~yqfdDd;{rNt}-JS9KX z=~WpGUMCV9rM6T>Jizi`<*Z#}JNSdRi-A*nnt?8KQDmr06#2arxPHeY7?;_zh=sBP zfs*1~SdRq=@+R?AjOzTUe3*@Mr-zf&r{`x`bd}s8Q4(=>ZWIQbI52M?nxlg?45mis)XxGw1Q0d*_~Wb`Rz49?HA6 zRt*>rUN0OzHzayIKm{e$UCP87`ljv_%PHyIF8uVx`&Ri;M8jIOXBePLIsV@-t<-br zqRgfbjBR?DI;5XQbc;60snn-ODO=AX%@?M_`g9tVQF_d{#oTH=n?5tYKo6&)zWH9^ zrG{XG(5OFHC?tIfMubi>R49B@%2Lv0GfwX_LSh_svmKyU84(erSD{Ew2*8&y19*yB zR>uJY@eza}DP%-){C}cxR+;=eTFz0<`jvaqH2Y)yF{oMTT$45!5n<5*qcBJQ=3HmR zU8+CL$)rcj3DbL{P-IcWbpLXpxs_$V8DYui(?_$2wV36`VwUS|N$a*%uCANiaXoGw&@Z#y)<5w#dEvZ+}VJf1;W^`Eygf`CAX|s+$aCFzZSI(9HD4 zQXrR~b+#N>mJNiffU6w8!?mgRv0cx$2}GKJ?kMvTK#&KZXA>}qYiI2M_J@HRZNQW~ zuFg?lffqP=3V0LXJ32U)1=L;!I%DwQWjFOWC9^sw3H&%CP!&`#yhp+QZwh8?_8|Pu zgBSHGjy_bee!drR$BWvj8Vb5JbVeoGQn|f*)zqciD}?=KgKCg5xaMMCaBp((Kypwp z6o!YPGQ3W5Q0qE2dyZn^rUq1^f}d8#aMuytVEocuxe5yMxZ|DxYS zi;>CTs$$fsYmyIyYAil<-pO4h{YvrIklQ~W?ovTNdz z&7ayiH(dpo&+oQ8ekLkhN9o3S1E+1JMfSC~$}L)uT?d6-*C?x Z6S7lS_JxF;;49{_n~7;CvY#a6_n$5#0U!VX diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/县道第三方.xls b/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/县道第三方.xls index 0e3a1aa7deef5d247789bf828703d63b5c3c1f8a..4d61104bf8ee841e103e4856bfe71f06c5a4aa2a 100644 GIT binary patch delta 1214 zcmZWoeP~-%6#t#qn>5MNyu6pTNmgf41ly{$P5s8Qrd3*)I#!e+=vs!B`QL^NWC*tN zgQ)*#y`vADbEB+fTSqz@F(_gND+nU!W}P1lsh|v|Y(W@;=;H6b7$$lj=bm%VIrp6N zJLkTc_2A4;!8Zrnz5*bmYqeU9%wM;^H(nAsuLIUnw3nJb(qFWfKDJItOLq47wa*WK zD{IDA?^DxO`Ca{odO>c{`vT8PSYHkNY>nmgh2WMZpkEI+xBZ8w^?Y+m{}xK=bL6j+ zJ|aC!y3~A|9;LoL)UPK(2TGCfV*!ci$=IZXbS2g&0evNw)OXt(b=Gdzmt$c)WOpS3 ztmJAf4!mz_;!>ORtbLdM!4B(-QCn=iY-jaF+fLJ`?zx6-6gL2;v+HO@K-=+Tn#YDU zOVPe=9ir7~SPwW(B~!^jwflEny*r+igf7JU(*Lg{;`_AfFBqY%5n&BGfz6pl{GhJI z$B1prd5(L?bn*KWne6^nV3qMpN8@ zdxBnOqQ>K4^0%UOy+u7Dz#VLhOK}=XlvLP=5Gw4KfgblQLe%wD&tPPyYW5u%MH^hs ziICW{>nr*=m5uc@gE13}7bO1CD+rTVOt#f`+ibb`AP8iT=XucA0hqNy|Q((^n+T0Z^&Ixt7vrLnb{kq|s5vG~+fyGUm`uqmOcpX>{D!O&1Jl zQL|}}4s}##t3y4-ZFy**1)Gb;Y$j5aY|<+kRIQ|@8~7@V2|K_;X2g)QJoAtOX8K@p zQJdnU_lk+WSQLr~swn9SJ82O!P|fT*fN?FtK#JX!ZvJESFw4%X))KbzIV-W5Xqu%kpiRCMD>^qpfVy_X?ZR7C% z?dTM*Mqq|RXBnD&so`$4wYCFK*N@a=M_Ey^ziBfxS93JY!oN(X)-r3M~ zY$3#vTIQg>oos$NivgiH*SvZBa#$L`u}}nC^fp#?VtAqtD`Ha-^dtFXIXpFh{?H)a WL`V46Ag(v%b4Rzr7Vrtj@4o>4z4uuF diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/村道第三方.xls b/scripts/0.0.1/data/工具脚本(无需执行)/data/道路/村道第三方.xls index 9a7dc066d57c1522353bfb29b82d3430db89997e..d23427d40ea7e6f68e2df682f18bc130d16137be 100644 GIT binary patch delta 2159 zcmZuy3viTI75?tse;?UL_WepWyBo;!7tI4~X_JOX6c!U@Twr+02%neCRx5D|)Sb4fmwmS9~jf=mJ|71|YX+8UCvk^55Dv zrpqnXt*of`6YDjN&u);HopTuE3|I8OXsPUX#pGdENG@|H0Lx?`OL+Xt!u$_s4#JK9x^Fioi= zzi-T(tp*GSQ|o}OcA#WB@FZR3nO49W2fp|yu*5*L0H|~V2bTZ?0if$^z;8=|b?boj z8Zi8A;H(GuU>opZ1o-J5pgTqDPT)KRcjzGST|eMF0=!!SG#)2C3o=;r8=#mB>j!}M zsldn20jHC|*a*-;hCjbV;K*UqJHQAzeDx-fv;rH)fPYYxJjWOmrEuKIFptuAC&Vy| zBKkPVFoS@6zLwz$!e23!p^XCgYcqpAME0{7y2~;Y&EpKeqsU*NFuMuiE2|iONse|t z#ju(jJ+YbLLAtN2I~j&4BXgf)a8tyqvka94;QC7pJp{mVoZ$!osPAJKApn(wbS?oH z{yhUF6J38|2oiwvml?hsq$|75@Iod*5#C}LBS*PA3_fyH!#Q@)fh%1c2PpMRq8vY> z46zE1>6E%q9Y+o6UwnY$Ch4DjnBxKgyF=l>Pes$Tm}3e7Yk!hs9-ULQo@11N-Q3L4 zPx33fIF6Bi+w&aGF^c402RROVv$t}3BD<)E2QsH37VPY_;I>^uGNa-4KQ(;eX)Bgo zvqE2H1HWj);`w%ToU<3j%p7iNCljruEY z6fgE*)0-Z=_ee1YhKgZp@}lRY7cHOjVeiX6v?TpFm-S~*?+u{k2LU{YAljb|qH{Ee zIcr1Ma5aQ!Uk&5HNEqLIID+DV2s-YMV)v;idh{3^M`O5J62~+dN1LYvHM>eMceDhd zr%EyRdMWlUO<>A}1nyf<2KOJz@Wxk?xO*l^XHco0Na1iQjgAA0(s;yQj*)%kaN8!K zW5*<{x;qJ{zcU#>yg3=pwH4@jrvgJOD&hP~C7Ksj;U{lYp<;G5-WsgNou(Qb@2f$q zu@>8UYEco~iD z$=KHHo>%!6p}0^Mp){eaLfM3}3*`{1NGPXJE}`5)d4wt!$}5ylD8Envp@Kq%gbE84 z5h^NFOsKd}B|?=7l@O{-sH9LSq0&N?3pGio$wE~KRVh@JP}M@!^r>3=>4qCPN)3w_ zx~YnNa1`iOe%h?4cD%3@cGKDmtx!WVLs7ve%e7#Jip$glX;HPB8gpsh@BUQINe+4s zQ>n$#`=(Z)F^%P^sX36RGB%oy&)lJRM!fM=(JUVh%Yl9WwQ@LwEWGxBHFO6%=wM>pgTWoPE~ zfvzFFwQEq{WTPH|y)3)qHGNL*?4aJvvaLh+mK#re*pDpL_^j;tlu)ww*3dk C-vj>u delta 1932 zcmZvc3s96*6vzMf@+}MdV3&RJ+(nSrmk-csOv6A^D;p8ChQ=byBCJH4tcWaDGs9N~ z-DGWKG&6M?dJ*XohA5&|QxjzmH5FW=PayL+clKnYgi;qZ5ItE zHThSbI%=9Kj;cbl_sUUuEGeqPoS;^kU248LMLlhCsVSB`wT66aNl+WO_7(M#@+e}m z+SM_0nz~>~5Cv^!>r8_%s0v4gdeG@my$+u+s`C!7+U1BZ=}olJFyi$!N+_Cv-4QRNvbns8rvJ5R6lwgQ zwvbw$^{?+M@$p^$ErB1m<3Xk%-M>3~d+%+7# z++L2{U!8O3QSy7jI=?5pS{0Flov)9z!?vaQx7!zId1?C!~nxy1)hlq zg0BOol7Oxj+C?FNWBh1wbnNT|PV4@n8tc6a|ujgMs+@cLI%>2BT&W!TSo~LGl7Q-1dJ~FPZnrS4FI>7 z2<&6#=}fbk5nlg*z`H!iHeaBU2c4)97{~8l{hYvFR^;$%0Shy}&?Jz_02Xc%*vbGJ zS_C#TfX?j#y$s;}F7C?!N}a`!y1VerEDQaNAZnIxyA~h1iBDUIPtV>NG66 zq+$Df1AaPTKx=t4Rvd~(Ux^XU{YGpqh(Tp*48F{a#l{V>*y}Rk@Cp+;g&FtPm@(lO zGd`)bAoPO;Ys;*-{J9kiZjHm_?l`>2Y7TF;VV`b?ZHpcIQsXf#7#~0=&VhZ)9oRGI z!0}oqyuUf||sHOFMns!;kv6{mAvF!MX0vG<;zn zg0huEpbY77E=k9k%jqb5G6U|j8EBk46vIyp#ci`Q(Rd^iduL=}$Y)t-nUamWcV{DT zV-7~|$ic?^To|_IqQ$M_@ZEZ_;zRw{knc_TXjJHxx8yt#oH$2w1RVpiYR5Zr-gN80 z;NW1GdwKU~2cP|0E>(7+)z=P45=FwYfkYD{i6ODXM9joOtR#-uh@Hd}2XPV?aT5>m zk_3`Sl1MU1A*sYi{3MMGA?YN83?-Q)i)53WQ0+jjv3>ka(t#b(z=X){F5nFh|5nA= z$-i=Vd;k)uY@bn96mu$I<-fQ%v_7O)3g(B#DAL(f-O=`o# zg=6E6bTGaUgy(z_2=`|`Ww396PmMj1x=`sy`T?QYZ(q?IO4+5GWPZOb-1=g%X9D}p z2p~KcSIy-WbCYV+a)U*?^*4O07M^dSZzOlbAKqKl`>iPAeDUm`@9JI`lza4DP2KwA x(R^=ME`qHc`qWTQw_YGro~8wR_UHvoJ^E|H5!}?HC&%WqbKii`$O{`@{s*n%2?_uJ diff --git a/scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js b/scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js index 62a5da80..2ffc5e75 100644 --- a/scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js +++ b/scripts/0.0.1/data/工具脚本(无需执行)/dataIn.js @@ -71,6 +71,26 @@ try { // defaultKey: ['type'], // defaultValue: ['危货'], // }, + { + path: ['./data/运政/业户/出租车/事业发展中心巡游出租业户信息表.xlsx'], + n: '运政业户', + tableName: 'municipal_business', + defaultKey: ['type'], + defaultValue: ['出租车'], + }, + { + path: (() => { + let p = []; + fs.readdirSync(path.join(__dirname, '/data/运政/业户/危货')).forEach((filename) => { + p.push(`./data/运政/业户/危货/${filename}`) + }); + return p; + })(), + n: '运政业户', + tableName: 'municipal_business', + defaultKey: ['type'], + defaultValue: ['危货'], + }, // { // path: ['./data/工程一览/道路.xls'], // n: '工程一览',