service.py 126 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975
  1. import xml.etree.ElementTree as ET
  2. from typing import Union
  3. from fastapi import FastAPI
  4. import os
  5. import json
  6. import uuid
  7. import re
  8. from fastapi.middleware.cors import CORSMiddleware
  9. from pydantic import BaseModel
  10. import pandas as pd
  11. from numpy import float64, int64
  12. def chaifen(result, zhuanye):
  13. clde = result['clde']
  14. if zhuanye == 10:
  15. pbf = pd.read_csv("de/tj/JD_PeiBiF.csv")
  16. clk = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  17. elif zhuanye == 20:
  18. pbf = pd.read_csv("de/sz/JD_PeiBiF.csv")
  19. clk = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  20. elif zhuanye == 30:
  21. pbf = pd.read_csv("de/az/JD_PeiBiF.csv")
  22. clk = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  23. elif zhuanye == 40:
  24. pbf = pd.read_csv("de/yl/JD_PeiBiF.csv")
  25. clk = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  26. elif zhuanye == 50:
  27. pbf = pd.read_csv("de/xstj/JD_PeiBiF.csv")
  28. clk = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  29. else:
  30. pbf = pd.read_csv("de/xsaz/JD_PeiBiF.csv")
  31. clk = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
  32. for entry in clde:
  33. filtered = pbf[pbf["PBBH"]==entry['CLBH']]
  34. if len(filtered) > 0:
  35. entry["children"] = []
  36. ids = filtered['RcjID'].tolist()
  37. cls = clk[clk['RcjID'].isin(ids)]
  38. joined = pd.merge(filtered, cls, on='RcjID')
  39. for row in joined.itertuples():
  40. CLBH = row.CLBH
  41. CLMC = row.CLMC
  42. JLDW = row.JLDW
  43. YSJG = row.YSJG
  44. SL = float(row.SL) * float(entry['SL'])
  45. HJ = float(row.HJ) * float(entry['SL'])
  46. entry['children'].append({'CLBH': CLBH,
  47. 'CLMC': CLMC,
  48. 'JLDW': JLDW,
  49. 'YSJG': YSJG,
  50. 'SL': SL,
  51. 'HJ': HJ
  52. })
  53. ##print(result)
  54. return result
  55. def getQingdanTuijian(bh, bt, bm):
  56. result = []
  57. try:
  58. all = pd.read_csv("QingDanAllInOne.csv")
  59. bm_ = int(bm) // 1000
  60. hit = all[all["qdbh"] == str(bm_)]
  61. for i in range(len(hit)):
  62. result.append({'ID': hit.iloc[i]["index"].item(), '定额编号': hit.iloc[i]["debh"], '工程量名称': hit.iloc[i]["gclmc"], '工作内容': hit.iloc[i]["work"]})
  63. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  64. finally:
  65. return result
  66. def getQdmx(root, bh, bt):
  67. result = []
  68. #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费", "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
  69. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  70. item = None
  71. for child in root:
  72. if child.tag == "Dxgcxx":
  73. for child1 in child:
  74. Dwgcbh = child1.attrib["Dwgcbh"]
  75. if Dwgcbh == bh:
  76. item = child1
  77. break
  78. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  79. Fywj = None
  80. for child in item:
  81. if child.tag == 'Qdxm':
  82. Fywj= child
  83. break
  84. container = None
  85. for child in Fywj:
  86. ##child is mx
  87. if child.tag == "QdBt":
  88. if child.attrib["Mc"] == bt:
  89. count = 0
  90. for grandchild in child:
  91. count = count + 1
  92. if count > 0:
  93. container = child
  94. break
  95. if container == None:
  96. container = Fywj
  97. for child in container:
  98. #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费",
  99. # "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
  100. result.append({
  101. "操作" : "",
  102. "序号": child.attrib["Xh"], "清单编码" : child.attrib["Qdbm"], "名称" : child.attrib["Mc"],"项目特征" : child.attrib["Xmtz"],
  103. "计算规则" : child.attrib["Jsgz"],
  104. "单位" : child.attrib["Dw"],
  105. "数量": child.attrib["Sl"],
  106. "综合单价" : child.attrib["Zhdj"],
  107. "合价" : child.attrib["Zhhj"],
  108. "人工费": child.attrib["Rgf"],
  109. "主材费" : child.attrib["Zcf"],
  110. "设备费": child.attrib["Sbf"],
  111. "辅材费": child.attrib["Fcf"],
  112. "材料费" : child.attrib["Clf"],
  113. "机械费" : child.attrib["Jxf"],
  114. "管理费": child.attrib["Glf"],
  115. "利润": child.attrib["Lr"],
  116. "暂估价" : child.attrib["Zgj"],
  117. "综合人工工日" : child.attrib["Zgr"],
  118. "备注" : child.attrib["Bz"]}
  119. )
  120. for child_zj in child:
  121. if child_zj.tag == "Qdxdezj":
  122. for child_mx in child_zj:
  123. if child_mx.tag == "QdxdezjMx":
  124. key = str(uuid.uuid4())
  125. child_mx.set("key", key)
  126. ##print("set key")
  127. ##print(key)
  128. ##print(child_mx)
  129. parent = result[-1]
  130. if "__children" in parent:
  131. parent["__children"].append({
  132. "key": key,
  133. "操作" : "",
  134. "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
  135. "计算规则" : None,
  136. "单位" : child_mx.attrib["Dw"],
  137. "数量": child_mx.attrib["DwQdSl"],
  138. "综合单价" : child_mx.attrib["Dj"],
  139. "合价" : child_mx.attrib["Hj"],
  140. "人工费": child_mx.attrib["Rgf"],
  141. "主材费" : child_mx.attrib["Zcf"],
  142. "设备费": child_mx.attrib["Sbf"],
  143. "辅材费": child_mx.attrib["Fcf"],
  144. "材料费" : child_mx.attrib["Clf"],
  145. "机械费" : child_mx.attrib["Jxf"],
  146. "管理费": child_mx.attrib["Glf"],
  147. "利润": child_mx.attrib["Lr"],
  148. "暂估价" : None,
  149. "综合人工工日" : None,
  150. "备注" : None}
  151. )
  152. else:
  153. parent["__children"] = [{
  154. "key": key,
  155. "操作" : "",
  156. "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
  157. "计算规则" : None,
  158. "单位" : child_mx.attrib["Dw"],
  159. "数量": child_mx.attrib["DwQdSl"],
  160. "综合单价" : child_mx.attrib["Dj"],
  161. "合价" : child_mx.attrib["Hj"],
  162. "人工费": child_mx.attrib["Rgf"],
  163. "主材费" : child_mx.attrib["Zcf"],
  164. "设备费": child_mx.attrib["Sbf"],
  165. "辅材费": child_mx.attrib["Fcf"],
  166. "材料费" : child_mx.attrib["Clf"],
  167. "机械费" : child_mx.attrib["Jxf"],
  168. "管理费": child_mx.attrib["Glf"],
  169. "利润": child_mx.attrib["Lr"],
  170. "暂估价" : None,
  171. "综合人工工日" : None,
  172. "备注" : None}]
  173. return result
  174. def getQdmx_default(root, bh, bt):
  175. result = []
  176. #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费", "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
  177. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  178. item = None
  179. for child in root:
  180. if child.tag == "Dxgcxx":
  181. for child1 in child:
  182. Dwgcbh = child1.attrib["Dwgcbh"]
  183. if Dwgcbh == bh:
  184. item = child1
  185. break
  186. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  187. Fywj = None
  188. for child in item:
  189. if child.tag == 'Qdxm':
  190. Fywj= child
  191. break
  192. container = None
  193. for child in Fywj:
  194. ##child is mx
  195. if child.tag == "Qdmx":
  196. #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费",
  197. # "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
  198. result.append({
  199. "操作" : "",
  200. "序号": child.attrib["Xh"], "清单编码" : child.attrib["Qdbm"], "名称" : child.attrib["Mc"],"项目特征" : child.attrib["Xmtz"],
  201. "计算规则" : child.attrib["Jsgz"],
  202. "单位" : child.attrib["Dw"],
  203. "数量": child.attrib["Sl"],
  204. "综合单价" : child.attrib["Zhdj"],
  205. "合价" : child.attrib["Zhhj"],
  206. "人工费": child.attrib["Rgf"],
  207. "主材费" : child.attrib["Zcf"],
  208. "设备费": child.attrib["Sbf"],
  209. "辅材费": child.attrib["Fcf"],
  210. "材料费" : child.attrib["Clf"],
  211. "机械费" : child.attrib["Jxf"],
  212. "管理费": child.attrib["Glf"],
  213. "利润": child.attrib["Lr"],
  214. "暂估价" : child.attrib["Zgj"],
  215. "综合人工工日" : child.attrib["Zgr"],
  216. "备注" : child.attrib["Bz"]}
  217. )
  218. for child_zj in child:
  219. if child_zj.tag == "Qdxdezj":
  220. for child_mx in child_zj:
  221. if child_mx.tag == "QdxdezjMx":
  222. key = str(uuid.uuid4())
  223. child_mx.set("key", key)
  224. ##print("set key")
  225. ##print(key)
  226. ##print(child_mx)
  227. parent = result[-1]
  228. if "__children" in parent:
  229. parent["__children"].append({
  230. "key": key,
  231. "操作" : "",
  232. "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
  233. "计算规则" : None,
  234. "单位" : child_mx.attrib["Dw"],
  235. "数量": child_mx.attrib["DwQdSl"],
  236. "综合单价" : child_mx.attrib["Dj"],
  237. "合价" : child_mx.attrib["Hj"],
  238. "人工费": child_mx.attrib["Rgf"],
  239. "主材费" : child_mx.attrib["Zcf"],
  240. "设备费": child_mx.attrib["Sbf"],
  241. "辅材费": child_mx.attrib["Fcf"],
  242. "材料费" : child_mx.attrib["Clf"],
  243. "机械费" : child_mx.attrib["Jxf"],
  244. "管理费": child_mx.attrib["Glf"],
  245. "利润": child_mx.attrib["Lr"],
  246. "暂估价" : None,
  247. "综合人工工日" : None,
  248. "备注" : None}
  249. )
  250. else:
  251. parent["__children"] = [{
  252. "key": key,
  253. "操作" : "",
  254. "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
  255. "计算规则" : None,
  256. "单位" : child_mx.attrib["Dw"],
  257. "数量": child_mx.attrib["DwQdSl"],
  258. "综合单价" : child_mx.attrib["Dj"],
  259. "合价" : child_mx.attrib["Hj"],
  260. "人工费": child_mx.attrib["Rgf"],
  261. "主材费" : child_mx.attrib["Zcf"],
  262. "设备费": child_mx.attrib["Sbf"],
  263. "辅材费": child_mx.attrib["Fcf"],
  264. "材料费" : child_mx.attrib["Clf"],
  265. "机械费" : child_mx.attrib["Jxf"],
  266. "管理费": child_mx.attrib["Glf"],
  267. "利润": child_mx.attrib["Lr"],
  268. "暂估价" : None,
  269. "综合人工工日" : None,
  270. "备注" : None}]
  271. return result
  272. def getQdxm_addition(root, id):
  273. result = []
  274. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  275. item = None
  276. for child in root:
  277. if child.tag == "Dxgcxx":
  278. for child1 in child:
  279. Dwgcbh = child1.attrib["Dwgcbh"]
  280. if Dwgcbh == id:
  281. item = child1
  282. break
  283. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  284. Fywj = None
  285. for child in item:
  286. if child.tag == 'Qdxm':
  287. Fywj= child
  288. break
  289. for child in Fywj:
  290. ##child is mx
  291. if child.tag == "QdBt":
  292. count = 0
  293. for grandchild in child:
  294. count = count + 1
  295. if count > 0:
  296. result.append({'Bz': child.attrib["Bz"], 'Je': child.attrib['Je'], 'Mc': child.attrib['Mc'], 'Xh': child.attrib['Xh'], 'Zgj': child.attrib['Zgj']})
  297. return result
  298. def getQdxm(root, id):###qdxm下面既有qdmx,也有qdbt,qdbt可能为空
  299. result = []
  300. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  301. item = None
  302. for child in root:
  303. if child.tag == "Dxgcxx":
  304. for child1 in child:
  305. Dwgcbh = child1.attrib["Dwgcbh"]
  306. if Dwgcbh == id:
  307. item = child1
  308. break
  309. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  310. Fywj = None
  311. for child in item:
  312. if child.tag == 'Qdxm':
  313. Fywj= child
  314. break
  315. for child in Fywj:
  316. ##child is mx
  317. if child.tag == 'Qdmx':
  318. if 'Default' in result:
  319. pass
  320. else:
  321. result.append('Default')
  322. if child.tag == "QdBt":
  323. count = 0
  324. for grandchild in child:
  325. count = count + 1
  326. if count > 0:
  327. result.append(child.attrib["Mc"])
  328. return result
  329. def getZjcs(root, id):
  330. result = []
  331. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  332. item = None
  333. for child in root:
  334. if child.tag == "Dxgcxx":
  335. for child1 in child:
  336. Dwgcbh = child1.attrib["Dwgcbh"]
  337. if Dwgcbh == id:
  338. item = child1
  339. break
  340. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  341. Fywj = None
  342. for child in item:
  343. if child.tag == 'Csxm':
  344. Fywj= child
  345. break
  346. Zjcs_parent = None
  347. for child in Fywj:
  348. if child.tag == 'ZjCs':
  349. Zjcs_parent = child
  350. break
  351. for child in Zjcs_parent:
  352. ##child is mx {
  353. result.append({
  354. "序号" : child.attrib["Xh"], "清单编码": child.attrib["Bm"], "名称" : child.attrib["Mc"],
  355. "计算基数" : child.attrib["Js"],
  356. "计算基础" : child.attrib["Jsjc"], "费率" : child.attrib["Fl"],
  357. "金额" : child.attrib["Je"], "项目类别" : child.attrib["Xmlb"]})
  358. __children = []
  359. for grandchild in child:
  360. __children.append({
  361. "序号" : None, "清单编码": None, "名称" : grandchild.attrib["Mc"],
  362. "计算基数" : grandchild.attrib["Js"],
  363. "计算基础" : grandchild.attrib["Jsjc"], "费率" : grandchild.attrib["Fl"],
  364. "金额" : grandchild.attrib["Je"], "项目类别" : grandchild.attrib["Xmlb"]})
  365. if len(__children) > 0:
  366. result[-1]["__children"] = __children
  367. return result
  368. def getZcbfwf(root, id):
  369. result = []
  370. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  371. item = None
  372. for child in root:
  373. if child.tag == "Dxgcxx":
  374. for child1 in child:
  375. Dwgcbh = child1.attrib["Dwgcbh"]
  376. if Dwgcbh == id:
  377. item = child1
  378. break
  379. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  380. Fywj = None
  381. for child in item:
  382. if child.tag == 'Zcbfwf':
  383. Fywj= child
  384. break
  385. for child in Fywj:
  386. result.append(
  387. {'序号': child.attrib["Xh"],
  388. "名称" : child.attrib["Mc"], "项目价值" : child.attrib["Xmjz"], "服务内容" :child.attrib["Fwnr"], "计算基础" :child.attrib["Jsjc"],
  389. "费率" :child.attrib["Fl"], "金额" :child.attrib["Je"]}
  390. )
  391. return result
  392. def getRcjhz(root, id):
  393. result = [[ "ID", "编码", "名称", "规格型号", "单位", "数量", "单价", "合价", "产地",
  394. "供应厂商", "人材机类别", "主要材料标志", "主材标志", "设备标志", "甲供标志", "暂估价标志"]]
  395. for child in root:
  396. if child.tag == "Dxgcxx":
  397. for child1 in child:
  398. Dwgcbh = child1.attrib["Dwgcbh"]
  399. if Dwgcbh == id:
  400. item = child1
  401. break
  402. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  403. Fywj = None
  404. for child in item:
  405. if child.tag == 'Rcjhz':
  406. Fywj= child
  407. break
  408. for child in Fywj:
  409. result.append(
  410. [
  411. child.attrib["RcjId"], child.attrib["RcjBm"], child.attrib["Mc"], child.attrib["Ggxh"],
  412. child.attrib["Dw"], child.attrib["Sl"], child.attrib["Dj"], child.attrib["Hj"],
  413. child.attrib["Cd"], child.attrib["Gycs"], child.attrib["Rcjlb"],
  414. child.attrib["Zyclbz"], child.attrib["Zcbz"], child.attrib["Sbbz"], child.attrib["Jgbz"],
  415. child.attrib["Zgjbz"]]
  416. )
  417. return result
  418. def getFbrgycl(root, id):
  419. result = []
  420. for child in root:
  421. if child.tag == "Dxgcxx":
  422. for child1 in child:
  423. Dwgcbh = child1.attrib["Dwgcbh"]
  424. if Dwgcbh == id:
  425. item = child1
  426. break
  427. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  428. Fywj = None
  429. for child in item:
  430. if child.tag == 'Fbrgycl':
  431. Fywj= child
  432. break
  433. for child in Fywj:
  434. result.append(
  435. {'序号': child.attrib["Xh"],
  436. 'ID': child.attrib["RcjId"], '材料编号': child.attrib["Clbh"], '名称': child.attrib["Mc"], '规格型号': child.attrib["Ggxh"],
  437. '单位': child.attrib["Dw"], '数量': child.attrib["Sl"], '单价': child.attrib["Dj"], '合价': child.attrib["Hj"], '交货方式': child.attrib["Jhfs"],
  438. '送达地点': child.attrib["Sddd"], '备注': child.attrib["Bz"]}
  439. )
  440. return result
  441. def getJrg(root, id):
  442. result = []
  443. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  444. item = None
  445. for child in root:
  446. if child.tag == "Dxgcxx":
  447. for child1 in child:
  448. Dwgcbh = child1.attrib["Dwgcbh"]
  449. if Dwgcbh == id:
  450. item = child1
  451. break
  452. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  453. Fywj = None
  454. for child in item:
  455. if child.tag == 'Jrg':
  456. Fywj= child
  457. break
  458. for child in Fywj:
  459. result.append(
  460. {'序号': child.attrib["Xh"],
  461. '名称': child.attrib["Mc"], '金额': child.attrib["Je"], '类别': child.attrib["Lb"]}
  462. )
  463. return result
  464. def getZlje(root, id):
  465. result = []
  466. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  467. item = None
  468. for child in root:
  469. if child.tag == "Dxgcxx":
  470. for child1 in child:
  471. Dwgcbh = child1.attrib["Dwgcbh"]
  472. if Dwgcbh == id:
  473. item = child1
  474. break
  475. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  476. Fywj = None
  477. for child in item:
  478. if child.tag == 'Zlje':
  479. Fywj= child
  480. break
  481. for child in Fywj:
  482. result.append(
  483. {'序号': child.attrib["Xh"],
  484. '名称': child.attrib["Mc"], '单位': child.attrib["Dw"], '暂定金额': child.attrib["Zdje"], '备注': child.attrib["Bz"]}
  485. )
  486. return result
  487. def getZygczgj(root, id):
  488. result = []
  489. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  490. item = None
  491. for child in root:
  492. if child.tag == "Dxgcxx":
  493. for child1 in child:
  494. Dwgcbh = child1.attrib["Dwgcbh"]
  495. if Dwgcbh == id:
  496. item = child1
  497. break
  498. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  499. Fywj = None
  500. for child in item:
  501. if child.tag == 'Zygczg':
  502. Fywj= child
  503. break
  504. for child in Fywj:
  505. result.append(
  506. {'序号': child.attrib["Xh"],
  507. '名称': child.attrib["Mc"], '工程内容': child.attrib["Gcnr"], '金额': child.attrib["Je"], '备注': child.attrib["Bz"]}
  508. )
  509. return result
  510. def getQtxm(root, id):
  511. result = []
  512. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  513. item = None
  514. for child in root:
  515. if child.tag == "Dxgcxx":
  516. for child1 in child:
  517. Dwgcbh = child1.attrib["Dwgcbh"]
  518. if Dwgcbh == id:
  519. item = child1
  520. break
  521. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  522. Fywj = None
  523. for child in item:
  524. if child.tag == 'Qtxm':
  525. Fywj= child
  526. break
  527. for child in Fywj:
  528. ##child is mx
  529. xh = child.attrib["Xh"]
  530. if "." in xh:
  531. count = 0
  532. for entry in xh:
  533. if entry == ".":
  534. count = count + 1
  535. if count == 1:
  536. parent = result[-1]
  537. if "__children" in parent:
  538. children = parent["__children"]
  539. children.append(
  540. {"序号":xh, "名称": child.attrib["Mc"],
  541. "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}
  542. )
  543. else:
  544. parent["__children"] = [
  545. {"序号":xh, "名称": child.attrib["Mc"],
  546. "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}]
  547. else:
  548. result.append(
  549. {"序号":xh, "名称": child.attrib["Mc"],
  550. "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}
  551. )
  552. return result
  553. def getGfsj(root, id):
  554. result = []
  555. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  556. item = None
  557. for child in root:
  558. if child.tag == "Dxgcxx":
  559. for child1 in child:
  560. Dwgcbh = child1.attrib["Dwgcbh"]
  561. if Dwgcbh == id:
  562. item = child1
  563. break
  564. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  565. Fywj = None
  566. for child in item:
  567. if child.tag == 'Gfsj':
  568. Fywj= child
  569. break
  570. for child in Fywj:
  571. ##child is mx
  572. xh = child.attrib["Xh"]
  573. if "." in xh:
  574. count = 0
  575. for entry in xh:
  576. if entry == ".":
  577. count = count + 1
  578. if count == 1:
  579. parent = result[-1]
  580. if "__children" in parent:
  581. children = parent["__children"]
  582. children.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
  583. else:
  584. parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]}]
  585. elif count == 2:
  586. parent = result[-1]
  587. if "__children" in parent:
  588. parent = parent["__children"][-1]
  589. ##print(parent)
  590. if "__children" in parent:
  591. children = parent["__children"]
  592. children.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
  593. else:
  594. parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]}]
  595. else:
  596. ###["序号", "名称", "取费基数", "计算基础", "金额", "类别"]);
  597. result.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
  598. return result
  599. def getBjhz(root, id):
  600. ##print(root)
  601. ##print(id)
  602. result = []
  603. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  604. item = None
  605. for child in root:
  606. if child.tag == "Dxgcxx":
  607. for child1 in child:
  608. Dwgcbh = child1.attrib["Dwgcbh"]
  609. if Dwgcbh == id:
  610. item = child1
  611. break
  612. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  613. ##print(item)
  614. Fywj = None
  615. for child in item:
  616. if child.tag == 'Fywj':
  617. Fywj= child
  618. break
  619. for child in Fywj:
  620. ##child is mx
  621. xh = child.attrib["Xh"]
  622. if "." in xh:
  623. count = 0
  624. for entry in xh:
  625. if entry == ".":
  626. count = count + 1
  627. if count == 1:
  628. parent = result[-1]
  629. if "__children" in parent:
  630. children = parent["__children"]
  631. children.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
  632. else:
  633. parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]}]
  634. elif count == 2:
  635. parent = result[-1]
  636. if "__children" in parent:
  637. parent = parent["__children"][-1]
  638. ##print(parent)
  639. if "__children" in parent:
  640. children = parent["__children"]
  641. children.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
  642. else:
  643. parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]}]
  644. else:
  645. ###"序号", "名称", "金额", "暂估价", "类别"]
  646. result.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"],
  647. "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
  648. return result
  649. def processDes(dataframe, from_, end, level):
  650. result = []
  651. for i in range(from_, end):
  652. item = dataframe.iloc[i]
  653. fbcch = str(item['fbcch'])
  654. if fbcch == str(level):
  655. entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["zjbt"]), "title": str(item["zjbt"])}
  656. next = i + 1
  657. while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
  658. next = next + 1
  659. entry["children"] = processDes(dataframe, i + 1, next, level + 1)
  660. result.append(entry)
  661. return result
  662. def processPbs(dataframe, from_, end, level):
  663. result = []
  664. for i in range(from_, end):
  665. item = dataframe.iloc[i]
  666. fbcch = str(item['fbcch'])
  667. if fbcch == str(level):
  668. entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["flmc"]),"title": str(item["flmc"]), "data": item["pblbh"]}
  669. next = i + 1
  670. while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
  671. next = next + 1
  672. entry["children"] = processPbs(dataframe, i + 1, next, level + 1)
  673. result.append(entry)
  674. return result
  675. def processJxs(dataframe, from_, end, level):
  676. result = []
  677. for i in range(from_, end):
  678. item = dataframe.iloc[i]
  679. fbcch = str(item['fbcch'])
  680. if fbcch == str(level):
  681. entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["flmc"]),"title": str(item["flmc"]), "data": item["jxlbh"]}
  682. next = i + 1
  683. while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
  684. next = next + 1
  685. entry["children"] = processJxs(dataframe, i + 1, next, level + 1)
  686. result.append(entry)
  687. return result
  688. def processCls(dataframe, from_, end, level):
  689. result = []
  690. for i in range(from_, end):
  691. item = dataframe.iloc[i]
  692. fbcch = str(item['fbcch'])
  693. if fbcch == str(level):
  694. entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["flmc"]),"title": str(item["flmc"]), "data": item["cllbh"].item() if type(item["cllbh"]) == int64 else item["cllbh"]}
  695. ##print(entry)
  696. next = i + 1
  697. while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
  698. next = next + 1
  699. entry["children"] = processCls(dataframe, i + 1, next, level + 1)
  700. result.append(entry)
  701. return result
  702. def getCankao():
  703. tree = ET.parse('de/DeData_Fl.xml')
  704. root = tree.getroot()
  705. JSFF = None
  706. CsFl = None
  707. result = []
  708. for child in root:
  709. if child.tag == "JJFF":
  710. for grandchild in child:
  711. if grandchild.tag == 'JSFF':
  712. JSFF = grandchild
  713. for child in JSFF:
  714. if child.attrib['Markup'] == '1':
  715. for grandchild in child:
  716. if grandchild.tag == 'CsFl':
  717. CsFl = grandchild
  718. for child in CsFl:
  719. result.append({'工程类型': child.attrib['Gclx'], '名称': child.attrib['Mc'], '计算基础': child.attrib['Jsjc'],
  720. '参考费率': child.attrib['CkFl'], '地区': child.attrib['Dq'], '备注': child.attrib['Bz']})
  721. return result
  722. def getDes(value):
  723. if value == 10:
  724. shu = pd.read_csv("de/tj/JD_DingEShu.csv")
  725. elif value == 20:
  726. shu = pd.read_csv("de/sz/JD_DingEShu.csv")
  727. elif value == 30:
  728. shu = pd.read_csv("de/az/JD_DingEShu.csv")
  729. elif value == 40:
  730. shu = pd.read_csv("de/yl/JD_DingEShu.csv")
  731. elif value == 50:
  732. shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
  733. else:
  734. shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
  735. length = len(shu)
  736. return processDes(shu, 1, length, 2)
  737. def getPbs(value):
  738. if value == 10:
  739. shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
  740. elif value == 20:
  741. shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
  742. elif value == 30:
  743. shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
  744. else:
  745. return []
  746. length = len(shu)
  747. return processPbs(shu, 0, length, 1)
  748. def getJxs(value):
  749. if value == 10:
  750. shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
  751. elif value == 20:
  752. shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
  753. elif value == 30:
  754. shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
  755. else:
  756. return []
  757. length = len(shu)
  758. return processJxs(shu, 0, length, 1)
  759. def getCls(value):
  760. if value == 10:
  761. shu = pd.read_csv("de/tj/JD_CaiLiaoFLB.csv")
  762. elif value == 20:
  763. shu = pd.read_csv("de/sz/JD_CaiLiaoFLB.csv")
  764. elif value == 30:
  765. shu = pd.read_csv("de/az/JD_CaiLiaoFLB.csv")
  766. elif value == 40:
  767. shu = pd.read_csv("de/yl/JD_CaiLiaoFLB.csv")
  768. elif value == 50:
  769. shu = pd.read_csv("de/xstj/JD_CaiLiaoFLB.csv")
  770. elif value == 60:
  771. shu = pd.read_csv("de/xsaz/JD_CaiLiaoFLB.csv")
  772. else:
  773. return []
  774. length = len(shu)
  775. return processCls(shu, 0, length, 1)
  776. def read_singledexilie_azfy(debh):
  777. id = "None"
  778. if "-F1" in debh:
  779. id = "2076"
  780. elif "-F2" in debh:
  781. id = "2077"
  782. elif "-F3" in debh:
  783. id = "2078"
  784. elif "-F4" in debh:
  785. id = "2079"
  786. elif "-F5" in debh:
  787. if '4-F5' in debh:
  788. id = "2081"
  789. elif '5-F5' in debh:
  790. id = '2082'
  791. elif '7-F5' in debh:
  792. id = '2083'
  793. elif '9-F5' in debh:
  794. id = '2084'
  795. elif '10-F5' in debh:
  796. id = '2085'
  797. elif '11-F5' in debh:
  798. id = '2086'
  799. elif "-F6" in debh:
  800. id = "2087"
  801. r_debh = debh.split("!")[0]
  802. if len(debh.split("!")) == 1:
  803. return json.dumps({
  804. "reverse": id,
  805. "rgde": [],
  806. "jxde": [],
  807. "clde": [],
  808. "actual_zhuanye": 30,
  809. "bz_selected": {"BZBH": {}},
  810. "bz_selected2": {"BZBH": {}}
  811. }, ensure_ascii=False)
  812. gclmc = debh.split("!")[1]
  813. return json.dumps({
  814. "reverse": id,
  815. "DEBH": {"111": r_debh},
  816. "GCLMC": {"111": gclmc},
  817. "DW": {"111": '项'},
  818. "rgde": [],
  819. "jxde": [],
  820. "clde": [],
  821. "actual_zhuanye": 30,
  822. "bz_selected": {"BZBH": {}},
  823. "bz_selected2": {"BZBH": {}}
  824. }, ensure_ascii=False)
  825. def getDeXilie_azfy(value, id):
  826. if int(id) == 2075 or int(id) == 2080:
  827. return "{\"Unnamed: 0\":{},\"id\":{},\"DEBH\":{},\"GCLMC\":{},\"GCLSJDJ\":{},\"DW\":{},\"DeId\":{}}"
  828. if int(id) == 2076:
  829. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项", "项", "项", "项", "项", "项"],
  830. 'DEBH': ['2-F1', '2-F1', '3-F1', '3-F1', '4-F1',
  831. '5-F1', '6-F1', '7-F1', '8-F1', '9-F1', '10-F1', '11-F1', '11-F1', '11-F1', '11-F1', '11-F1'],
  832. "GCLMC": ["第二册第1-5章(定额2-1~2-390)", "第二册第6章(定额2-391~2-9999)", "第三册静置设备制作(定额3-1~3-615)",
  833. "第三册除静置设备制作以外(定额3-616~3-9999)", "第四册",
  834. "第五册", "第六册", "第七册", "第八册", "第九册", "第十册",
  835. "第十一册刷油工程(定额11-51~11-329)",
  836. "第十一册防腐蚀工程(定额11-330~11-1689)", "第十一册绝热工程(定额11-1690~11-2327)", "第十一册除锈工程(定额11-1~11-50)刷油工程", "第十一册除锈工程(定额11-1~11-50)防腐蚀工程"],
  837. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
  838. df = pd.DataFrame(data)
  839. return df.to_json(force_ascii=False)
  840. if int(id) == 2077:
  841. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项','项','项',
  842. '项','项','项','项','项','项','项','项','项','项',
  843. '项','项','项',
  844. '项','项', "项",'项','项','项','项', "项",'项', "项"],
  845. 'DEBH': ['1-F2', '1-F2','1-F2','1-F2','1-F2','1-F2','1-F2','1-F2','1-F2','1-F2','1-F2','1-F2',
  846. '4-F2', '5-F2', '5-F2', '5-F2','6-F2',
  847. '7-F2', '9-F2','9-F2','9-F2','9-F2', '10-F2','10-F2','10-F2','10-F2',
  848. '11-F2','11-F2','11-F2','11-F2', '11-F2','11-F2','11-F2' ],
  849. "GCLMC": ["第一册第1-6章(定额1-1~1-571)10-15m",
  850. "第一册第1-6章(定额1-1~1-571)15-20m",
  851. "第一册第1-6章(定额1-1~1-571)20-25m",
  852. "第一册第1-6章(定额1-1~1-571)25-30m",
  853. "第一册第1-6章(定额1-1~1-571)30-40m",
  854. "第一册第1-6章(定额1-1~1-571)40m以上",
  855. "第一册第8-14章(定额1-672~1-9999)10-15m",
  856. "第一册第8-14章(定额1-672~1-9999)15-20m",
  857. "第一册第8-14章(定额1-672~1-9999)20-25m",
  858. "第一册第8-14章(定额1-672~1-9999)25-30m",
  859. "第一册第8-14章(定额1-672~1-9999)30-40m",
  860. "第一册第8-14章(定额1-672~1-9999)40m以上",
  861. "第四册",
  862. "第五册5m以上到10m以内",
  863. "第五册10-20m",
  864. "第五册20m以上",
  865. "第六册", "第七册",
  866. "第九册5m以上到8m以内",
  867. "第九册8-12m",
  868. "第九册12-16m",
  869. "第九册16-20m",
  870. "第十册3.6-8m以内",
  871. "第十册8-12m以内",
  872. "第十册12-16m以内",
  873. "第十册16-20m",
  874. "第十一册6-20m",
  875. "第十一册20-30m",
  876. "第十一册30-40m",
  877. "第十一册40-50m",
  878. "第十一册50-60m",
  879. "第十一册60-70m",
  880. "第十一册80m以上",
  881. ],
  882. "GCLSJDJ": ["0", "0", '0', '0',"0", "0", "0", "0", "0", "0",
  883. "0", "0", '0', '0',"0", "0", "0", "0", "0", "0",
  884. "0","0", "0",
  885. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
  886. df = pd.DataFrame(data)
  887. return df.to_json(force_ascii=False)
  888. if int(id) == 2078:
  889. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项"],
  890. 'DEBH': ['1-F4', '1-F4', '2-F4', '3-F4', '4-F4',
  891. '5-F4', '6-F4', '7-F4', '8-F4', '9-F4', '11-F4'],
  892. "GCLMC": ["第一册第1-6章", "第一册第8-14章", "第二册",
  893. "第三册", "第四册",
  894. "第五册", "第六册", "第七册", "第八册", "第九册",
  895. "第十一册", ],
  896. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
  897. df = pd.DataFrame(data)
  898. return df.to_json(force_ascii=False)
  899. if int(id) == 2079:
  900. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项"],
  901. 'DEBH': ['1-F5', '1-F5', '2-F5', '3-F5', '4-F5',
  902. '5-F5', '6-F5', '7-F5', '8-F5', '9-F5', '11-F5'],
  903. "GCLMC": ["第一册第1-6章", "第一册第8-14章", "第二册",
  904. "第三册", "第四册",
  905. "第五册", "第六册", "第七册", "第八册", "第九册",
  906. "第十一册", ],
  907. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
  908. df = pd.DataFrame(data)
  909. return df.to_json(force_ascii=False)
  910. if int(id) == 2081:
  911. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  912. "项", '项', '项', '项', '项', "项", "项", "项"],
  913. 'DEBH': ['4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3',
  914. '4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3'],
  915. "GCLMC": ["9层或30m以内",
  916. "12层或40m以内",
  917. "15层或50m以内",
  918. "18层或60m以内",
  919. "21层或70m以内",
  920. "24层或80m以内",
  921. "27层或90m以内",
  922. "30层或100m以内",
  923. "33层或110m以内",
  924. "36层或120m以内",
  925. "40层或130m以内",
  926. "42层或140m以内",
  927. "45层或150m以内",
  928. "48层或160m以内",
  929. "51层或170m以内",
  930. "54层或180m以内",
  931. "57层或190m以内",
  932. "60层或200m以内",
  933. ],
  934. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  935. "0", "0", "0", "0", "0", "0", "0", "0"]}
  936. df = pd.DataFrame(data)
  937. return df.to_json(force_ascii=False)
  938. if int(id) == 2082:
  939. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  940. "项", '项', '项', '项', '项', "项", "项", "项"],
  941. 'DEBH': ['5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3',
  942. '5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3'],
  943. "GCLMC": ["9层或30m以内",
  944. "12层或40m以内",
  945. "15层或50m以内",
  946. "18层或60m以内",
  947. "21层或70m以内",
  948. "24层或80m以内",
  949. "27层或90m以内",
  950. "30层或100m以内",
  951. "33层或110m以内",
  952. "36层或120m以内",
  953. "40层或130m以内",
  954. "42层或140m以内",
  955. "45层或150m以内",
  956. "48层或160m以内",
  957. "51层或170m以内",
  958. "54层或180m以内",
  959. "57层或190m以内",
  960. "60层或200m以内",
  961. ],
  962. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  963. "0", "0", "0", "0", "0", "0", "0", "0"]}
  964. df = pd.DataFrame(data)
  965. return df.to_json(force_ascii=False)
  966. if int(id) == 2083:
  967. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  968. "项", '项', '项', '项', '项', "项", "项", "项"],
  969. 'DEBH': ['7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3',
  970. '7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3'],
  971. "GCLMC": ["9层或30m以内",
  972. "12层或40m以内",
  973. "15层或50m以内",
  974. "18层或60m以内",
  975. "21层或70m以内",
  976. "24层或80m以内",
  977. "27层或90m以内",
  978. "30层或100m以内",
  979. "33层或110m以内",
  980. "36层或120m以内",
  981. "40层或130m以内",
  982. "42层或140m以内",
  983. "45层或150m以内",
  984. "48层或160m以内",
  985. "51层或170m以内",
  986. "54层或180m以内",
  987. "57层或190m以内",
  988. "60层或200m以内",
  989. ],
  990. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  991. "0", "0", "0", "0", "0", "0", "0", "0"]}
  992. df = pd.DataFrame(data)
  993. return df.to_json(force_ascii=False)
  994. if int(id) == 2084:
  995. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  996. "项", '项', '项', '项', '项', "项", "项", "项"],
  997. 'DEBH': ['9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3',
  998. '9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3'],
  999. "GCLMC": ["9层或30m以内",
  1000. "12层或40m以内",
  1001. "15层或50m以内",
  1002. "18层或60m以内",
  1003. "21层或70m以内",
  1004. "24层或80m以内",
  1005. "27层或90m以内",
  1006. "30层或100m以内",
  1007. "33层或110m以内",
  1008. "36层或120m以内",
  1009. "40层或130m以内",
  1010. "42层或140m以内",
  1011. "45层或150m以内",
  1012. "48层或160m以内",
  1013. "51层或170m以内",
  1014. "54层或180m以内",
  1015. "57层或190m以内",
  1016. "60层或200m以内",
  1017. ],
  1018. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1019. "0", "0", "0", "0", "0", "0", "0", "0"]}
  1020. df = pd.DataFrame(data)
  1021. return df.to_json(force_ascii=False)
  1022. if int(id) == 2085:
  1023. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1024. "项", '项', '项', '项', '项', "项", "项", "项"],
  1025. 'DEBH': ['10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3',
  1026. '10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3'],
  1027. "GCLMC": ["9层或30m以内",
  1028. "12层或40m以内",
  1029. "15层或50m以内",
  1030. "18层或60m以内",
  1031. "21层或70m以内",
  1032. "24层或80m以内",
  1033. "27层或90m以内",
  1034. "30层或100m以内",
  1035. "33层或110m以内",
  1036. "36层或120m以内",
  1037. "40层或130m以内",
  1038. "42层或140m以内",
  1039. "45层或150m以内",
  1040. "48层或160m以内",
  1041. "51层或170m以内",
  1042. "54层或180m以内",
  1043. "57层或190m以内",
  1044. "60层或200m以内",
  1045. ],
  1046. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1047. "0", "0", "0", "0", "0", "0", "0", "0"]}
  1048. df = pd.DataFrame(data)
  1049. return df.to_json(force_ascii=False)
  1050. if int(id) == 2086:
  1051. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1052. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1053. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1054. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1055. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1056. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1057. '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
  1058. "项", '项'],
  1059. 'DEBH': ['11-F3', '11-F3',
  1060. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1061. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1062. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1063. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1064. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1065. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1066. '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
  1067. ],
  1068. "GCLMC": [
  1069. "(按通风空调工程)9层或30m以内",
  1070. "(按通风空调工程)12层或40m以内",
  1071. "(按通风空调工程)15层或50m以内",
  1072. "(按通风空调工程)18层或60m以内",
  1073. "(按通风空调工程)21层或70m以内",
  1074. "(按通风空调工程)24层或80m以内",
  1075. "(按通风空调工程)27层或90m以内",
  1076. "(按通风空调工程)30层或100m以内",
  1077. "(按通风空调工程)33层或110m以内",
  1078. "(按通风空调工程)36层或120m以内",
  1079. "(按通风空调工程)40层或130m以内",
  1080. "(按通风空调工程)42层或140m以内",
  1081. "(按通风空调工程)45层或150m以内",
  1082. "(按通风空调工程)48层或160m以内",
  1083. "(按通风空调工程)51层或170m以内",
  1084. "(按通风空调工程)54层或180m以内",
  1085. "(按通风空调工程)57层或190m以内",
  1086. "(按通风空调工程)60层或200m以内",
  1087. ############################
  1088. "(按消防工程)9层或30m以内",
  1089. "(按消防工程)12层或40m以内",
  1090. "(按消防工程)15层或50m以内",
  1091. "(按消防工程)18层或60m以内",
  1092. "(按消防工程)21层或70m以内",
  1093. "(按消防工程)24层或80m以内",
  1094. "(按消防工程)27层或90m以内",
  1095. "(按消防工程)30层或100m以内",
  1096. "(按消防工程)33层或110m以内",
  1097. "(按消防工程)36层或120m以内",
  1098. "(按消防工程)40层或130m以内",
  1099. "(按消防工程)42层或140m以内",
  1100. "(按消防工程)45层或150m以内",
  1101. "(按消防工程)48层或160m以内",
  1102. "(按消防工程)51层或170m以内",
  1103. "(按消防工程)54层或180m以内",
  1104. "(按消防工程)57层或190m以内",
  1105. "(按消防工程)60层或200m以内",
  1106. ############################
  1107. "(按给排水、采暖工程)9层或30m以内",
  1108. "(按给排水、采暖工程)12层或40m以内",
  1109. "(按给排水、采暖工程)15层或50m以内",
  1110. "(按给排水、采暖工程)18层或60m以内",
  1111. "(按给排水、采暖工程)21层或70m以内",
  1112. "(按给排水、采暖工程)24层或80m以内",
  1113. "(按给排水、采暖工程)27层或90m以内",
  1114. "(按给排水、采暖工程)30层或100m以内",
  1115. "(按给排水、采暖工程)33层或110m以内",
  1116. "(按给排水、采暖工程)36层或120m以内",
  1117. "(按给排水、采暖工程)40层或130m以内",
  1118. "(按给排水、采暖工程)42层或140m以内",
  1119. "(按给排水、采暖工程)45层或150m以内",
  1120. "(按给排水、采暖工程)48层或160m以内",
  1121. "(按给排水、采暖工程)51层或170m以内",
  1122. "(按给排水、采暖工程)54层或180m以内",
  1123. "(按给排水、采暖工程)57层或190m以内",
  1124. "(按给排水、采暖工程)60层或200m以内",
  1125. ############################
  1126. "(按电气工程)9层或30m以内",
  1127. "(按电气工程)12层或40m以内",
  1128. "(按电气工程)15层或50m以内",
  1129. "(按电气工程)18层或60m以内",
  1130. "(按电气工程)21层或70m以内",
  1131. "(按电气工程)24层或80m以内",
  1132. "(按电气工程)27层或90m以内",
  1133. "(按电气工程)30层或100m以内",
  1134. "(按电气工程)33层或110m以内",
  1135. "(按电气工程)36层或120m以内",
  1136. "(按电气工程)40层或130m以内",
  1137. "(按电气工程)42层或140m以内",
  1138. "(按电气工程)45层或150m以内",
  1139. "(按电气工程)48层或160m以内",
  1140. "(按电气工程)51层或170m以内",
  1141. "(按电气工程)54层或180m以内",
  1142. "(按电气工程)57层或190m以内",
  1143. "(按电气工程)60层或200m以内",
  1144. ],
  1145. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1146. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1147. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1148. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1149. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1150. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1151. "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
  1152. "0", "0" ]}
  1153. df = pd.DataFrame(data)
  1154. return df.to_json(force_ascii=False)
  1155. if int(id) == 2087:
  1156. data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项"],
  1157. 'DEBH': ['1-F6', '3-F6', '4-F6', '7-F6', '8-F6',
  1158. '10-F6', '10-F6', '10-F6', '11-F6'],
  1159. "GCLMC": ["第一册 站内工艺系统",
  1160. "第三册 站内工艺系统", "第四册 站内工艺系统",
  1161. "第七册", "第八册 站内工艺系统",
  1162. "第十册供暖器具安装", "第十册空调水工程管道安装", "第十册空调水工程管道附件", "第十一册 站内工艺系统" ],
  1163. "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0"]}
  1164. df = pd.DataFrame(data)
  1165. return df.to_json(force_ascii=False)
  1166. def getDeXilie(value, id):
  1167. ##print(type(id))
  1168. if value == 10:
  1169. shu = pd.read_csv("de/tj/JD_DingEShu.csv")
  1170. elif value == 20:
  1171. shu = pd.read_csv("de/sz/JD_DingEShu.csv")
  1172. elif value == 30:
  1173. shu = pd.read_csv("de/az/JD_DingEShu.csv")
  1174. elif value == 40:
  1175. shu = pd.read_csv("de/yl/JD_DingEShu.csv")
  1176. elif value == 50:
  1177. shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
  1178. else:
  1179. shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
  1180. hit = shu[shu["ID"]==int(id)]
  1181. ##print(hit)
  1182. if len(hit) == 0:
  1183. return []
  1184. hit0 = hit.iloc[0]
  1185. index = str(hit0['zjh'])
  1186. ##print("index=" + index)
  1187. if value == 10:
  1188. gj = pd.read_csv("de/tj/JD_DanWeiGJ.csv")
  1189. filtered = gj[gj["YSDELBH"]==int(index)]
  1190. elif value == 20:
  1191. gj = pd.read_csv("de/sz/JD_DanWeiGJ.csv")
  1192. filtered = gj[gj["YSDELBH"]==(index)]
  1193. elif value == 30:
  1194. gj = pd.read_csv("de/az/JD_DanWeiGJ.csv")
  1195. filtered = gj[gj["YSDELBH"]==(index)]
  1196. elif value == 40:
  1197. gj = pd.read_csv("de/yl/JD_DanWeiGJ.csv")
  1198. filtered = gj[gj["YSDELBH"]==int(index)]
  1199. elif value == 50:
  1200. gj = pd.read_csv("de/xstj/JD_DanWeiGJ.csv")
  1201. filtered = gj[gj["YSDELBH"]==int(index)]
  1202. else:
  1203. gj = pd.read_csv("de/xsaz/JD_DanWeiGJ.csv")
  1204. filtered = gj[gj["YSDELBH"]==int(index)]
  1205. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  1206. return filtered.to_json(force_ascii=False)
  1207. def getQufei(name):
  1208. if name == "0":
  1209. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1210. return gj.to_json(force_ascii=False)
  1211. shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
  1212. hit = shu[shu["ID"]==int(name)]
  1213. ##print(hit)
  1214. if len(hit) == 0:
  1215. return []
  1216. hit0 = hit.iloc[0]
  1217. index = str(hit0['pblbh'])
  1218. index_list = index.split(";")
  1219. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1220. filtered = gj[gj["PBBH"].str.startswith(tuple(index_list))]
  1221. return filtered.to_json(force_ascii=False)
  1222. def getPbxl(name, zhuanye):
  1223. if name == "0":
  1224. if zhuanye == 10:
  1225. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1226. elif zhuanye == 20:
  1227. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1228. elif zhuanye == 30:
  1229. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1230. elif zhuanye == 40:
  1231. gj = pd.read_csv("de/yl/JD_PeiBi.csv")
  1232. elif zhuanye == 50:
  1233. gj = pd.read_csv("de/xstj/JD_PeiBi.csv")
  1234. elif zhuanye == 60:
  1235. gj = pd.read_csv("de/xsaz/JD_PeiBi.csv")
  1236. return gj.to_json(force_ascii=False)
  1237. shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
  1238. hit = shu[shu["ID"]==int(name)]
  1239. ##print(hit)
  1240. if len(hit) == 0:
  1241. return []
  1242. hit0 = hit.iloc[0]
  1243. index = str(hit0['pblbh'])
  1244. index_list = index.split(";")
  1245. gj = pd.read_csv("de/tj/JD_PeiBi.csv")
  1246. filtered = gj[gj["PBBH"].str.startswith(tuple(index_list))]
  1247. return filtered.to_json(force_ascii=False)
  1248. def getJxxl(name, zhuanye):
  1249. if name == "0":
  1250. if zhuanye == 10:
  1251. gj = pd.read_csv("de/tj/JD_JiXieK.csv")
  1252. elif zhuanye == 20:
  1253. gj = pd.read_csv("de/tj/JD_JiXieK.csv")
  1254. elif zhuanye == 30:
  1255. gj = pd.read_csv("de/tj/JD_JiXieK.csv")
  1256. elif zhuanye == 40:
  1257. gj = pd.read_csv("de/yl/JD_JiXieK.csv")
  1258. elif zhuanye == 50:
  1259. gj = pd.read_csv("de/xstj/JD_JiXieK.csv")
  1260. elif zhuanye == 60:
  1261. gj = pd.read_csv("de/xsaz/JD_JiXieK.csv")
  1262. return gj.to_json(force_ascii=False)
  1263. shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
  1264. hit = shu[shu["ID"]==int(name)]
  1265. ##print(hit)
  1266. if len(hit) == 0:
  1267. return []
  1268. hit0 = hit.iloc[0]
  1269. index = str(hit0['jxlbh'])
  1270. index_list = index.split(";")
  1271. gj = pd.read_csv("de/tj/JD_JiXieK.csv")
  1272. filtered = gj[gj["jxbh"].str.startswith(tuple(index_list))]
  1273. return filtered.to_json(force_ascii=False)
  1274. def getClxl(name, zhuanye):
  1275. if name == "0":
  1276. if zhuanye == 10:
  1277. gj = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  1278. elif zhuanye == 20:
  1279. gj = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  1280. elif zhuanye == 30:
  1281. gj = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  1282. elif zhuanye == 40:
  1283. gj = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1284. elif zhuanye == 50:
  1285. gj = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1286. elif zhuanye == 60:
  1287. gj = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
  1288. return gj.to_json(force_ascii=False)
  1289. if zhuanye == 10:
  1290. shu = pd.read_csv("de/tj/JD_CaiLiaoFLB.csv")
  1291. if zhuanye == 20:
  1292. shu = pd.read_csv("de/sz/JD_CaiLiaoFLB.csv")
  1293. if zhuanye == 30:
  1294. shu = pd.read_csv("de/az/JD_CaiLiaoFLB.csv")
  1295. if zhuanye == 40:
  1296. shu = pd.read_csv("de/yl/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
  1297. if zhuanye == 50:
  1298. shu = pd.read_csv("de/xstj/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
  1299. if zhuanye == 60:
  1300. shu = pd.read_csv("de/xsaz/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
  1301. hit = shu[shu["ID"]==int(name)]
  1302. ##print(hit)
  1303. if len(hit) == 0:
  1304. return []
  1305. hit0 = hit.iloc[0]
  1306. index = str(hit0['cllbh'])
  1307. index_list = index.split(";")
  1308. if zhuanye == 10:
  1309. gj = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  1310. if zhuanye == 20:
  1311. gj = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  1312. if zhuanye == 30:
  1313. gj = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  1314. if zhuanye == 40:
  1315. gj = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1316. if zhuanye == 50:
  1317. gj = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1318. if zhuanye == 60:
  1319. gj = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
  1320. ##print(index_list)
  1321. ##print(gj)
  1322. filtered = gj[gj["CLBH"].str.startswith(tuple(index_list))]
  1323. return filtered.to_json(force_ascii=False)
  1324. def getSingleDeXilie(zhuanye, debh):
  1325. if zhuanye == 10:
  1326. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
  1327. if A1:
  1328. return A1, A2, A3, A4, A5, A6, A7, 10
  1329. else:
  1330. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_sz(debh)
  1331. return A1, A2, A3, A4,A5, A6, A7, 20
  1332. elif zhuanye == 20:##shizheng
  1333. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_sz(debh)
  1334. if A1:
  1335. return A1, A2, A3, A4, A5, A6, A7, 20
  1336. else:
  1337. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
  1338. if A1:
  1339. return A1, A2, A3, A4, A5, A6, A7, 10
  1340. else:
  1341. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
  1342. return A1, A2, A3, A4, A5, A6, A7, 30
  1343. elif zhuanye == 30:##anzhuang
  1344. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
  1345. return A1, A2, A3, A4, A5, A6, A7, 30
  1346. elif zhuanye == 40:##yuanlin
  1347. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_yl(debh)
  1348. return A1, A2, A3, A4, A5, A6, A7, 40
  1349. elif zhuanye == 50: ## xiushan tujian
  1350. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_xstj(debh)
  1351. if A1:
  1352. return A1, A2, A3, A4, A5, A6, A7, 50
  1353. else:
  1354. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
  1355. return A1, A2, A3, A4,A5, A6, A7, 10
  1356. else:
  1357. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_xsaz(debh)
  1358. if A1:
  1359. return A1, A2, A3, A4, A5, A6, A7, 60
  1360. else:
  1361. A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
  1362. return A1, A2, A3, A4,A5, A6, A7, 30
  1363. def getSingleDeXilie_xsaz(debh):
  1364. id = None
  1365. bz_selected = []
  1366. bz_selected2 = []
  1367. if "附注" in debh:
  1368. position = debh.find("附注")
  1369. debh = debh[:position]
  1370. if "*" in debh:
  1371. position = debh.find("*")
  1372. debh = debh[:position]
  1373. if debh.endswith("换"):
  1374. debh = debh[:-1]
  1375. if "[" in debh:
  1376. position = debh.find("[")
  1377. debh = debh[:position-1]
  1378. gj = pd.read_csv("de/xsaz/JD_DanWeiGJ.csv")
  1379. filtered = gj[gj["DEBH"]==debh]
  1380. ##print(filtered)
  1381. if len(filtered) > 0:
  1382. index = (filtered.iloc[0]["YSDELBH"])
  1383. shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
  1384. hit = shu[shu["zjh"]==index]
  1385. if len(hit) > 0:
  1386. id = hit.iloc[0]["ID"]
  1387. beizhu = str(filtered.iloc[0]["BZBH"])
  1388. if 'nan' in beizhu:
  1389. pass
  1390. else:
  1391. beizhus = beizhu.split(";")
  1392. ##print(beizhus)
  1393. bzfile = pd.read_csv("de/xsaz/JD_BeiZhuZK.csv")
  1394. bzfile2 = pd.read_csv("de/xsaz/JD_BeiZhuFK.csv", dtype=str)
  1395. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  1396. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  1397. else:
  1398. return None, None, None, None, None, None, None
  1399. ####rengong
  1400. rgde = []
  1401. rg = pd.read_csv("de/xsaz/JD_GuJiaRG.csv")
  1402. filtered1 = rg[rg["DEBH"]==debh]
  1403. for i in range(len(filtered1)):
  1404. rgde_ = {}
  1405. gr = filtered1.iloc[i]["RGR"]##gongri
  1406. gf = filtered1.iloc[i]["RGF"]##gongfei
  1407. rcjID = filtered1.iloc[i]["RcjID"]
  1408. detail = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
  1409. filtered2 = detail[detail["RcjID"]==rcjID]
  1410. if len(filtered2) > 0:
  1411. CLBH = filtered2.iloc[0]["CLBH"]
  1412. CLMC = filtered2.iloc[0]["CLMC"]
  1413. JLDW = filtered2.iloc[0]["JLDW"]
  1414. YSJG = filtered2.iloc[0]["YSJG"]
  1415. rgde_["CLBH"] = CLBH
  1416. rgde_["CLMC"] = CLMC
  1417. rgde_["JLDW"] = JLDW
  1418. rgde_["YSJG"] = YSJG.item()
  1419. rgde_["gr"] = gr.item()
  1420. rgde_["gf"] = gf.item()
  1421. rgde.append(rgde_)
  1422. ##print(rgde)
  1423. ####jixie
  1424. jxde = []
  1425. jx = pd.read_csv("de/xsaz/JD_GuJiaJX.csv")
  1426. filtered1 = jx[jx["DEBH"]==debh]
  1427. for i in range(len(filtered1)):
  1428. jxde_ = {}
  1429. sl = filtered1.iloc[i]["SL"]##shuliang
  1430. hj = filtered1.iloc[i]["HJ"]##hejia
  1431. rcjID = filtered1.iloc[i]["RcjID"]
  1432. detail = pd.read_csv("de/xsaz/JD_JiXieK.csv")
  1433. filtered2 = detail[detail["RcjID"]==rcjID]
  1434. if len(filtered2) > 0:
  1435. jxbh = filtered2.iloc[0]["jxbh"]
  1436. jxmc = filtered2.iloc[0]["jxmc"]
  1437. DW = filtered2.iloc[0]["DW"]
  1438. tbdj = filtered2.iloc[0]["tbdj"]
  1439. jxde_["jxbh"] = jxbh
  1440. jxde_["jxmc"] = jxmc
  1441. jxde_["DW"] = DW
  1442. jxde_["tbdj"] = tbdj.item()
  1443. jxde_["sl"] = sl.item()
  1444. jxde_["hj"] = hj.item()
  1445. jxde.append(jxde_)
  1446. ####cailiao
  1447. clde = []
  1448. cl = pd.read_csv("de/xsaz/JD_GuJiaCL.csv")
  1449. filtered1 = cl[cl["DEBH"]==debh]
  1450. for i in range(len(filtered1)):
  1451. clde_ = {}
  1452. SL = filtered1.iloc[i]["SL"]##shuliang
  1453. HJ = filtered1.iloc[i]["HJ"]##hejia
  1454. rcjID = filtered1.iloc[i]["RcjID"]
  1455. detail = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
  1456. filtered2 = detail[detail["RcjID"]==rcjID]
  1457. detail_ = pd.read_csv("de/xsaz/JD_PeiBi.csv")
  1458. filtered2_ = detail_[detail_["RcjID"]==rcjID]
  1459. if len(filtered2) > 0 and len(filtered2_) == 0:
  1460. CLBH = filtered2.iloc[0]["CLBH"]
  1461. CLMC = filtered2.iloc[0]["CLMC"]
  1462. JLDW = filtered2.iloc[0]["JLDW"]
  1463. YSJG = filtered2.iloc[0]["YSJG"]
  1464. clde_["CLBH"] = CLBH
  1465. clde_["CLMC"] = CLMC
  1466. clde_["JLDW"] = JLDW
  1467. clde_["YSJG"] = YSJG.item()
  1468. clde_["SL"] = SL.item()
  1469. clde_["HJ"] = HJ.item()
  1470. clde.append(clde_)
  1471. elif len(filtered2) == 0 and len(filtered2_) > 0:
  1472. CLBH = filtered2_.iloc[0]["PBBH"]
  1473. CLMC = filtered2_.iloc[0]["PBMC"]
  1474. JLDW = filtered2_.iloc[0]["DW"]
  1475. YSJG = filtered2_.iloc[0]["PBDJ"]
  1476. clde_["CLBH"] = CLBH.item()
  1477. clde_["CLMC"] = CLMC
  1478. clde_["JLDW"] = JLDW
  1479. clde_["YSJG"] = YSJG.item()
  1480. clde_["SL"] = SL.item()
  1481. clde_["HJ"] = HJ.item()
  1482. clde.append(clde_)
  1483. elif len(filtered2) > 0 and len(filtered2_) > 0:
  1484. YSJG = filtered2.iloc[0]["YSJG"]
  1485. YSJG_ = filtered2_.iloc[0]["PBDJ"]
  1486. if float(HJ) < 0.00001:
  1487. if float(YSJG) < 0.00001:
  1488. CLBH = filtered2.iloc[0]["CLBH"]
  1489. CLMC = filtered2.iloc[0]["CLMC"]
  1490. JLDW = filtered2.iloc[0]["JLDW"]
  1491. YSJG = filtered2.iloc[0]["YSJG"]
  1492. clde_["CLBH"] = CLBH
  1493. clde_["CLMC"] = CLMC
  1494. clde_["JLDW"] = JLDW
  1495. clde_["YSJG"] = YSJG.item()
  1496. clde_["SL"] = SL.item()
  1497. clde_["HJ"] = HJ.item()
  1498. clde.append(clde_)
  1499. elif float(YSJG_) < 0.00001:
  1500. CLBH = filtered2_.iloc[0]["PBBH"]
  1501. CLMC = filtered2_.iloc[0]["PBMC"]
  1502. JLDW = filtered2_.iloc[0]["DW"]
  1503. YSJG = filtered2_.iloc[0]["PBDJ"]
  1504. clde_["CLBH"] = CLBH.item()
  1505. clde_["CLMC"] = CLMC
  1506. clde_["JLDW"] = JLDW
  1507. clde_["YSJG"] = YSJG.item()
  1508. clde_["SL"] = SL.item()
  1509. clde_["HJ"] = HJ.item()
  1510. clde.append(clde_)
  1511. else:
  1512. ratio = float(YSJG) / (float(HJ) / float(SL))
  1513. ratio_ = float(YSJG_) / (float(HJ) / float(SL))
  1514. if abs(ratio - 1) < abs(ratio_ -1):
  1515. CLBH = filtered2.iloc[0]["CLBH"]
  1516. CLMC = filtered2.iloc[0]["CLMC"]
  1517. JLDW = filtered2.iloc[0]["JLDW"]
  1518. YSJG = filtered2.iloc[0]["YSJG"]
  1519. clde_["CLBH"] = CLBH
  1520. clde_["CLMC"] = CLMC
  1521. clde_["JLDW"] = JLDW
  1522. clde_["YSJG"] = YSJG.item()
  1523. clde_["SL"] = SL.item()
  1524. clde_["HJ"] = HJ.item()
  1525. clde.append(clde_)
  1526. else:
  1527. CLBH = filtered2_.iloc[0]["PBBH"]
  1528. CLMC = filtered2_.iloc[0]["PBMC"]
  1529. JLDW = filtered2_.iloc[0]["DW"]
  1530. YSJG = filtered2_.iloc[0]["PBDJ"]
  1531. clde_["CLBH"] = CLBH.item()
  1532. clde_["CLMC"] = CLMC
  1533. clde_["JLDW"] = JLDW
  1534. clde_["YSJG"] = YSJG.item()
  1535. clde_["SL"] = SL.item()
  1536. clde_["HJ"] = HJ.item()
  1537. clde.append(clde_)
  1538. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  1539. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  1540. def getSingleDeXilie_xstj(debh):
  1541. id = None
  1542. bz_selected = []
  1543. bz_selected2 = []
  1544. additional = []
  1545. if "附注" in debh:
  1546. position = debh.find("附注")
  1547. debh = debh[:position]
  1548. if "*" in debh:
  1549. position = debh.find("*")
  1550. debh = debh[:position]
  1551. if debh.endswith("换"):
  1552. debh = debh[:-1]
  1553. if "[" in debh:
  1554. position = debh.find("[")
  1555. debh = debh[:position-1]
  1556. gj = pd.read_csv("de/xstj/JD_DanWeiGJ.csv")
  1557. filtered = gj[gj["DEBH"]==debh]
  1558. ##print(filtered)
  1559. if len(filtered) > 0:
  1560. index = (filtered.iloc[0]["YSDELBH"])
  1561. shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
  1562. hit = shu[shu["zjh"]==index]
  1563. if len(hit) > 0:
  1564. id = hit.iloc[0]["ID"]
  1565. beizhu = str(filtered.iloc[0]["BZBH"])
  1566. if 'nan' in beizhu:
  1567. pass
  1568. else:
  1569. beizhus = beizhu.split(";")
  1570. ##print(beizhus)
  1571. bzfile = pd.read_csv("de/xstj/JD_BeiZhuZK.csv")
  1572. bzfile2 = pd.read_csv("de/xstj/JD_BeiZhuFK.csv", dtype=str)
  1573. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  1574. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  1575. bz_selected2 = bz_selected2.astype({'BH': str})
  1576. additional = bz_selected2['BH'].tolist()
  1577. additional = [entry for entry in additional if not entry in ['000000', '000001', 'J00000', '100000', '800101', '015103', '066121', '066501', '066503', '070101', '070303', '070902', '071121', '241503', '8021', '80210']]
  1578. else:
  1579. return None, None, None, None, None, None, None
  1580. ####rengong
  1581. rgde = []
  1582. rg = pd.read_csv("de/xstj/JD_GuJiaRG.csv")
  1583. filtered1 = rg[rg["DEBH"]==debh]
  1584. for i in range(len(filtered1)):
  1585. rgde_ = {}
  1586. gr = filtered1.iloc[i]["RGR"]##gongri
  1587. gf = filtered1.iloc[i]["RGF"]##gongfei
  1588. rcjID = filtered1.iloc[i]["RcjID"]
  1589. detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1590. filtered2 = detail[detail["RcjID"]==rcjID]
  1591. if len(filtered2) > 0:
  1592. CLBH = filtered2.iloc[0]["CLBH"]
  1593. CLMC = filtered2.iloc[0]["CLMC"]
  1594. JLDW = filtered2.iloc[0]["JLDW"]
  1595. YSJG = filtered2.iloc[0]["YSJG"]
  1596. rgde_["CLBH"] = CLBH
  1597. rgde_["CLMC"] = CLMC
  1598. rgde_["JLDW"] = JLDW
  1599. rgde_["YSJG"] = YSJG.item()
  1600. rgde_["gr"] = gr.item()
  1601. rgde_["gf"] = gf.item()
  1602. if CLBH in additional:
  1603. additional.remove(CLBH)
  1604. rgde.append(rgde_)
  1605. detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1606. detail = detail[detail['RcjLb'].isin([1, '1'])]
  1607. added = detail[detail['CLBH'].isin(additional)]
  1608. for _, entry in added.iterrows():
  1609. rgde_ = {}
  1610. CLBH = entry["CLBH"]
  1611. CLMC = entry["CLMC"]
  1612. JLDW = entry["JLDW"]
  1613. YSJG = entry["YSJG"]
  1614. rgde_["CLBH"] = CLBH
  1615. rgde_["CLMC"] = CLMC
  1616. rgde_["JLDW"] = JLDW
  1617. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1618. rgde_["gr"] = 0
  1619. rgde_["gf"] = 0
  1620. rgde.append(rgde_)
  1621. ####jixie
  1622. jxde = []
  1623. jx = pd.read_csv("de/xstj/JD_GuJiaJX.csv")
  1624. filtered1 = jx[jx["DEBH"]==debh]
  1625. for i in range(len(filtered1)):
  1626. jxde_ = {}
  1627. sl = filtered1.iloc[i]["SL"]##shuliang
  1628. hj = filtered1.iloc[i]["HJ"]##hejia
  1629. rcjID = filtered1.iloc[i]["RcjID"]
  1630. detail = pd.read_csv("de/xstj/JD_JiXieK.csv")
  1631. filtered2 = detail[detail["RcjID"]==rcjID]
  1632. if len(filtered2) > 0:
  1633. jxbh = filtered2.iloc[0]["jxbh"]
  1634. jxmc = filtered2.iloc[0]["jxmc"]
  1635. DW = filtered2.iloc[0]["DW"]
  1636. tbdj = filtered2.iloc[0]["tbdj"]
  1637. jxde_["jxbh"] = jxbh
  1638. jxde_["jxmc"] = jxmc
  1639. jxde_["DW"] = DW
  1640. jxde_["tbdj"] = tbdj.item()
  1641. jxde_["sl"] = sl.item()
  1642. jxde_["hj"] = hj.item()
  1643. if jxbh in additional:
  1644. additional.remove(jxbh)
  1645. jxde.append(jxde_)
  1646. detail = pd.read_csv("de/xstj/JD_JiXieK.csv")
  1647. added = detail[detail['jxbh'].isin(additional)]
  1648. for _, entry in added.iterrows():
  1649. jxde_ = {}
  1650. jxbh = entry["jxbh"]
  1651. jxmc = entry["jxmc"]
  1652. DW = entry["DW"]
  1653. tbdj = entry["tbdj"]
  1654. jxde_["jxbh"] = jxbh
  1655. jxde_["jxmc"] = jxmc
  1656. jxde_["DW"] = DW
  1657. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  1658. jxde_["sl"] = 0
  1659. jxde_["hj"] = 0
  1660. jxde.append(jxde_)
  1661. ####cailiao
  1662. clde = []
  1663. cl = pd.read_csv("de/xstj/JD_GuJiaCL.csv")
  1664. filtered1 = cl[cl["DEBH"]==debh]
  1665. for i in range(len(filtered1)):
  1666. clde_ = {}
  1667. SL = filtered1.iloc[i]["SL"]##shuliang
  1668. HJ = filtered1.iloc[i]["HJ"]##hejia
  1669. rcjID = filtered1.iloc[i]["RcjID"]
  1670. detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1671. filtered2 = detail[detail["RcjID"]==rcjID]
  1672. detail_ = pd.read_csv("de/xstj/JD_PeiBi.csv")
  1673. filtered2_ = detail_[detail_["RcjID"]==rcjID]
  1674. if len(filtered2) > 0 and len(filtered2_) == 0:
  1675. CLBH = filtered2.iloc[0]["CLBH"]
  1676. CLMC = filtered2.iloc[0]["CLMC"]
  1677. JLDW = filtered2.iloc[0]["JLDW"]
  1678. YSJG = filtered2.iloc[0]["YSJG"]
  1679. clde_["CLBH"] = CLBH
  1680. clde_["CLMC"] = CLMC
  1681. clde_["JLDW"] = JLDW
  1682. clde_["YSJG"] = YSJG.item()
  1683. clde_["SL"] = SL.item()
  1684. clde_["HJ"] = HJ.item()
  1685. clde.append(clde_)
  1686. elif len(filtered2) == 0 and len(filtered2_) > 0:
  1687. CLBH = filtered2_.iloc[0]["PBBH"]
  1688. CLMC = filtered2_.iloc[0]["PBMC"]
  1689. JLDW = filtered2_.iloc[0]["DW"]
  1690. YSJG = filtered2_.iloc[0]["PBDJ"]
  1691. clde_["CLBH"] = CLBH.item()
  1692. clde_["CLMC"] = CLMC
  1693. clde_["JLDW"] = JLDW
  1694. clde_["YSJG"] = YSJG.item()
  1695. clde_["SL"] = SL.item()
  1696. clde_["HJ"] = HJ.item()
  1697. clde.append(clde_)
  1698. elif len(filtered2) > 0 and len(filtered2_) > 0:
  1699. YSJG = filtered2.iloc[0]["YSJG"]
  1700. YSJG_ = filtered2_.iloc[0]["PBDJ"]
  1701. if float(HJ) < 0.00001:
  1702. if float(YSJG) < 0.00001:
  1703. CLBH = filtered2.iloc[0]["CLBH"]
  1704. CLMC = filtered2.iloc[0]["CLMC"]
  1705. JLDW = filtered2.iloc[0]["JLDW"]
  1706. YSJG = filtered2.iloc[0]["YSJG"]
  1707. clde_["CLBH"] = CLBH
  1708. clde_["CLMC"] = CLMC
  1709. clde_["JLDW"] = JLDW
  1710. clde_["YSJG"] = YSJG.item()
  1711. clde_["SL"] = SL.item()
  1712. clde_["HJ"] = HJ.item()
  1713. clde.append(clde_)
  1714. elif float(YSJG_) < 0.00001:
  1715. CLBH = filtered2_.iloc[0]["PBBH"]
  1716. CLMC = filtered2_.iloc[0]["PBMC"]
  1717. JLDW = filtered2_.iloc[0]["DW"]
  1718. YSJG = filtered2_.iloc[0]["PBDJ"]
  1719. clde_["CLBH"] = CLBH.item()
  1720. clde_["CLMC"] = CLMC
  1721. clde_["JLDW"] = JLDW
  1722. clde_["YSJG"] = YSJG.item()
  1723. clde_["SL"] = SL.item()
  1724. clde_["HJ"] = HJ.item()
  1725. clde.append(clde_)
  1726. else:
  1727. ratio = float(YSJG) / (float(HJ) / float(SL))
  1728. ratio_ = float(YSJG_) / (float(HJ) / float(SL))
  1729. if abs(ratio - 1) < abs(ratio_ -1):
  1730. CLBH = filtered2.iloc[0]["CLBH"]
  1731. CLMC = filtered2.iloc[0]["CLMC"]
  1732. JLDW = filtered2.iloc[0]["JLDW"]
  1733. YSJG = filtered2.iloc[0]["YSJG"]
  1734. clde_["CLBH"] = CLBH
  1735. clde_["CLMC"] = CLMC
  1736. clde_["JLDW"] = JLDW
  1737. clde_["YSJG"] = YSJG.item()
  1738. clde_["SL"] = SL.item()
  1739. clde_["HJ"] = HJ.item()
  1740. clde.append(clde_)
  1741. else:
  1742. CLBH = filtered2_.iloc[0]["PBBH"]
  1743. CLMC = filtered2_.iloc[0]["PBMC"]
  1744. JLDW = filtered2_.iloc[0]["DW"]
  1745. YSJG = filtered2_.iloc[0]["PBDJ"]
  1746. clde_["CLBH"] = CLBH.item()
  1747. clde_["CLMC"] = CLMC
  1748. clde_["JLDW"] = JLDW
  1749. clde_["YSJG"] = YSJG.item()
  1750. clde_["SL"] = SL.item()
  1751. clde_["HJ"] = HJ.item()
  1752. clde.append(clde_)
  1753. if 'CLBH' in clde_ and clde_['CLBH'] in additional:
  1754. additional.remove(clde_['CLBH'])
  1755. detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
  1756. detail = detail[detail['RcjLb'].isin([2, '2'])]
  1757. added = detail[detail['CLBH'].isin(additional)]
  1758. for _, entry in added.iterrows():
  1759. clde_ = {}
  1760. CLBH = entry["CLBH"]
  1761. CLMC = entry["CLMC"]
  1762. JLDW = entry["JLDW"]
  1763. YSJG = entry["YSJG"]
  1764. clde_["CLBH"] = CLBH
  1765. clde_["CLMC"] = CLMC
  1766. clde_["JLDW"] = JLDW
  1767. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1768. clde_["SL"] = 0
  1769. clde_["HJ"] = 0
  1770. clde.append(clde_)
  1771. detail = pd.read_csv("de/xstj/JD_PeiBi.csv")
  1772. added = detail[detail['PBBH'].isin(additional)]
  1773. for _, entry in added.iterrows():
  1774. clde_ = {}
  1775. CLBH = entry["PBBH"]
  1776. CLMC = entry["PBMC"]
  1777. JLDW = entry["DW"]
  1778. YSJG = entry["PBDJ"]
  1779. clde_["CLBH"] = CLBH
  1780. clde_["CLMC"] = CLMC
  1781. clde_["JLDW"] = JLDW
  1782. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1783. clde_["SL"] = 0
  1784. clde_["HJ"] = 0
  1785. clde.append(clde_)
  1786. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  1787. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  1788. def getSingleDeXilie_yl(debh):
  1789. id = None
  1790. bz_selected = []
  1791. bz_selected2 = []
  1792. additional = []
  1793. if "附注" in debh:
  1794. position = debh.find("附注")
  1795. debh = debh[:position]
  1796. if "*" in debh:
  1797. position = debh.find("*")
  1798. debh = debh[:position]
  1799. if debh.endswith("换"):
  1800. debh = debh[:-1]
  1801. if "[" in debh:
  1802. position = debh.find("[")
  1803. debh = debh[:position-1]
  1804. gj = pd.read_csv("de/yl/JD_DanWeiGJ.csv")
  1805. filtered = gj[gj["DEBH"]==debh]
  1806. ##print(filtered)
  1807. if len(filtered) > 0:
  1808. index = (filtered.iloc[0]["YSDELBH"])
  1809. shu = pd.read_csv("de/yl/JD_DingEShu.csv")
  1810. hit = shu[shu["zjh"]==index]
  1811. if len(hit) > 0:
  1812. id = hit.iloc[0]["ID"]
  1813. beizhu = str(filtered.iloc[0]["BZBH"])
  1814. if 'nan' in beizhu:
  1815. pass
  1816. else:
  1817. beizhus = beizhu.split(";")
  1818. ##print(beizhus)
  1819. bzfile = pd.read_csv("de/yl/JD_BeiZhuZK.csv")
  1820. bzfile2 = pd.read_csv("de/yl/JD_BeiZhuFK.csv", dtype=str)
  1821. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  1822. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  1823. bz_selected2 = bz_selected2.astype({'BH': str})
  1824. additional = bz_selected2['BH'].tolist()
  1825. additional = [entry for entry in additional if not entry in ['000000', '000001', 'J00000', '100000', '800101', '015103', '066121', '066501', '066503', '070101', '070303', '070902', '071121', '241503', '8021', '80210']]
  1826. else:
  1827. return None, None, None, None, None, None, None
  1828. ####rengong
  1829. rgde = []
  1830. rg = pd.read_csv("de/yl/JD_GuJiaRG.csv")
  1831. filtered1 = rg[rg["DEBH"]==debh]
  1832. for i in range(len(filtered1)):
  1833. rgde_ = {}
  1834. gr = filtered1.iloc[i]["RGR"]##gongri
  1835. gf = filtered1.iloc[i]["RGF"]##gongfei
  1836. rcjID = filtered1.iloc[i]["RcjID"]
  1837. detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1838. filtered2 = detail[detail["RcjID"]==rcjID]
  1839. if len(filtered2) > 0:
  1840. CLBH = filtered2.iloc[0]["CLBH"]
  1841. CLMC = filtered2.iloc[0]["CLMC"]
  1842. JLDW = filtered2.iloc[0]["JLDW"]
  1843. YSJG = filtered2.iloc[0]["YSJG"]
  1844. rgde_["CLBH"] = CLBH
  1845. rgde_["CLMC"] = CLMC
  1846. rgde_["JLDW"] = JLDW
  1847. rgde_["YSJG"] = YSJG.item()
  1848. rgde_["gr"] = gr.item()
  1849. rgde_["gf"] = gf.item()
  1850. if CLBH in additional:
  1851. additional.remove(CLBH)
  1852. rgde.append(rgde_)
  1853. detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1854. detail = detail[detail['RcjLb'].isin([1, '1'])]
  1855. added = detail[detail['CLBH'].isin(additional)]
  1856. for _, entry in added.iterrows():
  1857. rgde_ = {}
  1858. CLBH = entry["CLBH"]
  1859. CLMC = entry["CLMC"]
  1860. JLDW = entry["JLDW"]
  1861. YSJG = entry["YSJG"]
  1862. rgde_["CLBH"] = CLBH
  1863. rgde_["CLMC"] = CLMC
  1864. rgde_["JLDW"] = JLDW
  1865. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1866. rgde_["gr"] = 0
  1867. rgde_["gf"] = 0
  1868. rgde.append(rgde_)
  1869. ####jixie
  1870. jxde = []
  1871. jx = pd.read_csv("de/yl/JD_GuJiaJX.csv")
  1872. filtered1 = jx[jx["DEBH"]==debh]
  1873. for i in range(len(filtered1)):
  1874. jxde_ = {}
  1875. sl = filtered1.iloc[i]["SL"]##shuliang
  1876. hj = filtered1.iloc[i]["HJ"]##hejia
  1877. rcjID = filtered1.iloc[i]["RcjID"]
  1878. detail = pd.read_csv("de/yl/JD_JiXieK.csv")
  1879. filtered2 = detail[detail["RcjID"]==rcjID]
  1880. if len(filtered2) > 0:
  1881. jxbh = filtered2.iloc[0]["jxbh"]
  1882. jxmc = filtered2.iloc[0]["jxmc"]
  1883. DW = filtered2.iloc[0]["DW"]
  1884. tbdj = filtered2.iloc[0]["tbdj"]
  1885. jxde_["jxbh"] = jxbh
  1886. jxde_["jxmc"] = jxmc
  1887. jxde_["DW"] = DW
  1888. jxde_["tbdj"] = tbdj.item()
  1889. jxde_["sl"] = sl.item()
  1890. jxde_["hj"] = hj.item()
  1891. if jxbh in additional:
  1892. additional.remove(jxbh)
  1893. jxde.append(jxde_)
  1894. detail = pd.read_csv("de/yl/JD_JiXieK.csv")
  1895. added = detail[detail['jxbh'].isin(additional)]
  1896. for _, entry in added.iterrows():
  1897. jxde_ = {}
  1898. jxbh = entry["jxbh"]
  1899. jxmc = entry["jxmc"]
  1900. DW = entry["DW"]
  1901. tbdj = entry["tbdj"]
  1902. jxde_["jxbh"] = jxbh
  1903. jxde_["jxmc"] = jxmc
  1904. jxde_["DW"] = DW
  1905. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  1906. jxde_["sl"] = 0
  1907. jxde_["hj"] = 0
  1908. jxde.append(jxde_)
  1909. ####cailiao
  1910. clde = []
  1911. cl = pd.read_csv("de/yl/JD_GuJiaCL.csv")
  1912. filtered1 = cl[cl["DEBH"]==debh]
  1913. for i in range(len(filtered1)):
  1914. clde_ = {}
  1915. SL = filtered1.iloc[i]["SL"]##shuliang
  1916. HJ = filtered1.iloc[i]["HJ"]##hejia
  1917. rcjID = filtered1.iloc[i]["RcjID"]
  1918. detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1919. filtered2 = detail[detail["RcjID"]==rcjID]
  1920. if len(filtered2) > 0:
  1921. CLBH = filtered2.iloc[0]["CLBH"]
  1922. CLMC = filtered2.iloc[0]["CLMC"]
  1923. JLDW = filtered2.iloc[0]["JLDW"]
  1924. YSJG = filtered2.iloc[0]["YSJG"]
  1925. clde_["CLBH"] = CLBH
  1926. clde_["CLMC"] = CLMC
  1927. clde_["JLDW"] = JLDW
  1928. clde_["YSJG"] = YSJG.item()
  1929. clde_["SL"] = SL.item()
  1930. clde_["HJ"] = HJ.item()
  1931. clde.append(clde_)
  1932. else:
  1933. detail = pd.read_csv("de/yl/JD_PeiBi.csv")
  1934. filtered2 = detail[detail["RcjID"]==rcjID]
  1935. if len(filtered2) > 0:
  1936. CLBH = filtered2.iloc[0]["PBBH"]
  1937. CLMC = filtered2.iloc[0]["PBMC"]
  1938. JLDW = filtered2.iloc[0]["DW"]
  1939. YSJG = filtered2.iloc[0]["PBDJ"]
  1940. clde_["CLBH"] = CLBH.item()
  1941. clde_["CLMC"] = CLMC
  1942. clde_["JLDW"] = JLDW
  1943. clde_["YSJG"] = YSJG.item()
  1944. clde_["SL"] = SL.item()
  1945. clde_["HJ"] = HJ.item()
  1946. clde.append(clde_)
  1947. if 'CLBH' in clde_ and clde_['CLBH'] in additional:
  1948. additional.remove(clde_['CLBH'])
  1949. detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
  1950. detail = detail[detail['RcjLb'].isin([2, '2'])]
  1951. added = detail[detail['CLBH'].isin(additional)]
  1952. for _, entry in added.iterrows():
  1953. clde_ = {}
  1954. CLBH = entry["CLBH"]
  1955. CLMC = entry["CLMC"]
  1956. JLDW = entry["JLDW"]
  1957. YSJG = entry["YSJG"]
  1958. clde_["CLBH"] = CLBH
  1959. clde_["CLMC"] = CLMC
  1960. clde_["JLDW"] = JLDW
  1961. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1962. clde_["SL"] = 0
  1963. clde_["HJ"] = 0
  1964. clde.append(clde_)
  1965. detail = pd.read_csv("de/yl/JD_PeiBi.csv")
  1966. added = detail[detail['PBBH'].isin(additional)]
  1967. for _, entry in added.iterrows():
  1968. clde_ = {}
  1969. CLBH = entry["PBBH"]
  1970. CLMC = entry["PBMC"]
  1971. JLDW = entry["DW"]
  1972. YSJG = entry["PBDJ"]
  1973. clde_["CLBH"] = CLBH
  1974. clde_["CLMC"] = CLMC
  1975. clde_["JLDW"] = JLDW
  1976. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  1977. clde_["SL"] = 0
  1978. clde_["HJ"] = 0
  1979. clde.append(clde_)
  1980. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  1981. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  1982. def getSingleDeXilie_az(debh):
  1983. id = None
  1984. bz_selected = []
  1985. bz_selected2 = []
  1986. additional = []
  1987. if "附注" in debh:
  1988. position = debh.find("附注")
  1989. debh = debh[:position]
  1990. if "*" in debh:
  1991. position = debh.find("*")
  1992. debh = debh[:position]
  1993. if debh.endswith("换"):
  1994. debh = debh[:-1]
  1995. if "[" in debh:
  1996. position = debh.find("[")
  1997. debh = debh[:position-1]
  1998. gj = pd.read_csv("de/az/JD_DanWeiGJ.csv")
  1999. filtered = gj[gj["DEBH"]==debh]
  2000. ##print(filtered)
  2001. if len(filtered) > 0:
  2002. index = (filtered.iloc[0]["YSDELBH"])
  2003. shu = pd.read_csv("de/az/JD_DingEShu.csv")
  2004. hit = shu[shu["zjh"]==index]
  2005. if len(hit) > 0:
  2006. id = hit.iloc[0]["ID"]
  2007. beizhu = str(filtered.iloc[0]["BZBH"])
  2008. if 'nan' in beizhu:
  2009. pass
  2010. else:
  2011. beizhus = beizhu.split(";")
  2012. ##print(beizhus)
  2013. bzfile = pd.read_csv("de/az/JD_BeiZhuZK.csv")
  2014. bzfile2 = pd.read_csv("de/az/JD_BeiZhuFK.csv", dtype=str)
  2015. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  2016. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  2017. bz_selected2 = bz_selected2.astype({'BH': str})
  2018. additional = bz_selected2['BH'].tolist()
  2019. additional = [entry for entry in additional if not entry in ['000000', '000001', 'J00000', '100000', '800101', '015103', '066121', '066501', '066503', '070101', '070303', '070902', '071121', '241503', '8021', '80210']]
  2020. else:
  2021. return None, None, None, None, None, None, None
  2022. ####rengong
  2023. rgde = []
  2024. rg = pd.read_csv("de/az/JD_GuJiaRG.csv")
  2025. filtered1 = rg[rg["DEBH"]==debh]
  2026. for i in range(len(filtered1)):
  2027. rgde_ = {}
  2028. gr = filtered1.iloc[i]["RGR"]##gongri
  2029. gf = filtered1.iloc[i]["RGF"]##gongfei
  2030. rcjID = filtered1.iloc[i]["RcjID"]
  2031. detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  2032. filtered2 = detail[detail["RcjID"]==rcjID]
  2033. if len(filtered2) > 0:
  2034. CLBH = filtered2.iloc[0]["CLBH"]
  2035. CLMC = filtered2.iloc[0]["CLMC"]
  2036. JLDW = filtered2.iloc[0]["JLDW"]
  2037. YSJG = filtered2.iloc[0]["YSJG"]
  2038. rgde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2039. rgde_["CLMC"] = CLMC
  2040. rgde_["JLDW"] = JLDW
  2041. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2042. rgde_["gr"] = gr.item() if type(gr) == float64 else gr
  2043. rgde_["gf"] = gf.item() if type(gf) == float64 else gf
  2044. if CLBH in additional:
  2045. additional.remove(CLBH)
  2046. rgde.append(rgde_)
  2047. detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  2048. detail = detail[detail['RcjLb'].isin([1, '1'])]
  2049. added = detail[detail['CLBH'].isin(additional)]
  2050. for _, entry in added.iterrows():
  2051. rgde_ = {}
  2052. CLBH = entry["CLBH"]
  2053. CLMC = entry["CLMC"]
  2054. JLDW = entry["JLDW"]
  2055. YSJG = entry["YSJG"]
  2056. rgde_["CLBH"] = CLBH
  2057. rgde_["CLMC"] = CLMC
  2058. rgde_["JLDW"] = JLDW
  2059. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2060. rgde_["gr"] = 0
  2061. rgde_["gf"] = 0
  2062. rgde.append(rgde_)
  2063. ####jixie
  2064. jxde = []
  2065. jx = pd.read_csv("de/az/JD_GuJiaJX.csv")
  2066. filtered1 = jx[jx["DEBH"]==debh]
  2067. for i in range(len(filtered1)):
  2068. jxde_ = {}
  2069. sl = filtered1.iloc[i]["SL"]##shuliang
  2070. hj = filtered1.iloc[i]["HJ"]##hejia
  2071. rcjID = filtered1.iloc[i]["RcjID"]
  2072. detail = pd.read_csv("de/az/JD_JiXieK.csv")
  2073. filtered2 = detail[detail["RcjID"]==rcjID]
  2074. if len(filtered2) > 0:
  2075. jxbh = filtered2.iloc[0]["jxbh"]
  2076. jxmc = filtered2.iloc[0]["jxmc"]
  2077. DW = filtered2.iloc[0]["DW"]
  2078. tbdj = filtered2.iloc[0]["tbdj"]
  2079. jxde_["jxbh"] = jxbh
  2080. jxde_["jxmc"] = jxmc
  2081. jxde_["DW"] = DW
  2082. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2083. jxde_["sl"] = sl.item() if type(sl) == float64 else sl
  2084. jxde_["hj"] = hj.item() if type(hj) == float64 else hj
  2085. if jxbh in additional:
  2086. additional.remove(jxbh)
  2087. jxde.append(jxde_)
  2088. detail = pd.read_csv("de/az/JD_JiXieK.csv")
  2089. added = detail[detail['jxbh'].isin(additional)]
  2090. for _, entry in added.iterrows():
  2091. jxde_ = {}
  2092. jxbh = entry["jxbh"]
  2093. jxmc = entry["jxmc"]
  2094. DW = entry["DW"]
  2095. tbdj = entry["tbdj"]
  2096. jxde_["jxbh"] = jxbh
  2097. jxde_["jxmc"] = jxmc
  2098. jxde_["DW"] = DW
  2099. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2100. jxde_["sl"] = 0
  2101. jxde_["hj"] = 0
  2102. jxde.append(jxde_)
  2103. ####cailiao
  2104. clde = []
  2105. cl = pd.read_csv("de/az/JD_GuJiaCL.csv")
  2106. filtered1 = cl[cl["DEBH"]==debh]
  2107. for i in range(len(filtered1)):
  2108. clde_ = {}
  2109. SL = filtered1.iloc[i]["SL"]##shuliang
  2110. HJ = filtered1.iloc[i]["HJ"]##hejia
  2111. rcjID = filtered1.iloc[i]["RcjID"]
  2112. detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  2113. filtered2 = detail[detail["RcjID"]==rcjID]
  2114. if len(filtered2) > 0:
  2115. CLBH = filtered2.iloc[0]["CLBH"]
  2116. CLMC = filtered2.iloc[0]["CLMC"]
  2117. JLDW = filtered2.iloc[0]["JLDW"]
  2118. YSJG = filtered2.iloc[0]["YSJG"]
  2119. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2120. clde_["CLMC"] = CLMC
  2121. clde_["JLDW"] = JLDW
  2122. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2123. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2124. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2125. clde.append(clde_)
  2126. else:
  2127. detail = pd.read_csv("de/az/JD_PeiBi.csv")
  2128. filtered2 = detail[detail["RcjID"]==rcjID]
  2129. if len(filtered2) > 0:
  2130. CLBH = filtered2.iloc[0]["PBBH"]
  2131. CLMC = filtered2.iloc[0]["PBMC"]
  2132. JLDW = filtered2.iloc[0]["DW"]
  2133. YSJG = filtered2.iloc[0]["PBDJ"]
  2134. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2135. clde_["CLMC"] = CLMC
  2136. clde_["JLDW"] = JLDW
  2137. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2138. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2139. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2140. clde.append(clde_)
  2141. if 'CLBH' in clde_ and clde_['CLBH'] in additional:
  2142. additional.remove(clde_['CLBH'])
  2143. detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
  2144. detail = detail[detail['RcjLb'].isin([2, '2'])]
  2145. added = detail[detail['CLBH'].isin(additional)]
  2146. for _, entry in added.iterrows():
  2147. clde_ = {}
  2148. CLBH = entry["CLBH"]
  2149. CLMC = entry["CLMC"]
  2150. JLDW = entry["JLDW"]
  2151. YSJG = entry["YSJG"]
  2152. clde_["CLBH"] = CLBH
  2153. clde_["CLMC"] = CLMC
  2154. clde_["JLDW"] = JLDW
  2155. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2156. clde_["SL"] = 0
  2157. clde_["HJ"] = 0
  2158. clde.append(clde_)
  2159. detail = pd.read_csv("de/az/JD_PeiBi.csv")
  2160. added = detail[detail['PBBH'].isin(additional)]
  2161. for _, entry in added.iterrows():
  2162. clde_ = {}
  2163. CLBH = entry["PBBH"]
  2164. CLMC = entry["PBMC"]
  2165. JLDW = entry["DW"]
  2166. YSJG = entry["PBDJ"]
  2167. clde_["CLBH"] = CLBH
  2168. clde_["CLMC"] = CLMC
  2169. clde_["JLDW"] = JLDW
  2170. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2171. clde_["SL"] = 0
  2172. clde_["HJ"] = 0
  2173. clde.append(clde_)
  2174. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  2175. ##print(filtered)
  2176. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  2177. def getSingleDeXilie_sz(debh):
  2178. id = None
  2179. bz_selected = []
  2180. bz_selected2 = []
  2181. additional = []
  2182. if "附注" in debh:
  2183. position = debh.find("附注")
  2184. debh = debh[:position]
  2185. if "*" in debh:
  2186. position = debh.find("*")
  2187. debh = debh[:position]
  2188. if debh.endswith("换"):
  2189. debh = debh[:-1]
  2190. if "[" in debh:
  2191. position = debh.find("[")
  2192. debh = debh[:position-1]
  2193. gj = pd.read_csv("de/sz/JD_DanWeiGJ.csv")
  2194. filtered = gj[gj["DEBH"]==debh]
  2195. ##print(filtered)
  2196. if len(filtered) > 0:
  2197. index = (filtered.iloc[0]["YSDELBH"])
  2198. shu = pd.read_csv("de/sz/JD_DingEShu.csv")
  2199. hit = shu[shu["zjh"]==index]
  2200. if len(hit) > 0:
  2201. id = hit.iloc[0]["ID"]
  2202. beizhu = str(filtered.iloc[0]["BZBH"])
  2203. if 'nan' in beizhu:
  2204. pass
  2205. else:
  2206. beizhus = beizhu.split(";")
  2207. ##print(beizhus)
  2208. bzfile = pd.read_csv("de/sz/JD_BeiZhuZK.csv")
  2209. bzfile2 = pd.read_csv("de/sz/JD_BeiZhuFK.csv", dtype=str)
  2210. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  2211. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  2212. bz_selected2 = bz_selected2.astype({'BH': str})
  2213. additional = bz_selected2['BH'].tolist()
  2214. additional = [entry for entry in additional if not entry in ['000000', '000001', 'J00000', '100000', '800101', '015103', '066121', '066501', '066503', '070101', '070303', '070902', '071121', '241503', '8021', '80210']]
  2215. else:
  2216. return None, None, None, None, None, None, None
  2217. ####rengong
  2218. rgde = []
  2219. rg = pd.read_csv("de/sz/JD_GuJiaRG.csv")
  2220. filtered1 = rg[rg["DEBH"]==debh]
  2221. for i in range(len(filtered1)):
  2222. rgde_ = {}
  2223. gr = filtered1.iloc[i]["RGR"]##gongri
  2224. gf = filtered1.iloc[i]["RGF"]##gongfei
  2225. rcjID = filtered1.iloc[i]["RcjID"]
  2226. detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  2227. filtered2 = detail[detail["RcjID"]==rcjID]
  2228. if len(filtered2) > 0:
  2229. CLBH = filtered2.iloc[0]["CLBH"]
  2230. CLMC = filtered2.iloc[0]["CLMC"]
  2231. JLDW = filtered2.iloc[0]["JLDW"]
  2232. YSJG = filtered2.iloc[0]["YSJG"]
  2233. rgde_["CLBH"] = CLBH
  2234. rgde_["CLMC"] = CLMC
  2235. rgde_["JLDW"] = JLDW
  2236. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2237. rgde_["gr"] = gr.item() if type(gr) == float64 else gr
  2238. rgde_["gf"] = gf.item() if type(gf) == float64 else gf
  2239. if CLBH in additional:
  2240. additional.remove(CLBH)
  2241. rgde.append(rgde_)
  2242. detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  2243. detail = detail[detail['RcjLb'].isin([1, '1'])]
  2244. added = detail[detail['CLBH'].isin(additional)]
  2245. for _, entry in added.iterrows():
  2246. rgde_ = {}
  2247. CLBH = entry["CLBH"]
  2248. CLMC = entry["CLMC"]
  2249. JLDW = entry["JLDW"]
  2250. YSJG = entry["YSJG"]
  2251. rgde_["CLBH"] = CLBH
  2252. rgde_["CLMC"] = CLMC
  2253. rgde_["JLDW"] = JLDW
  2254. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2255. rgde_["gr"] = 0
  2256. rgde_["gf"] = 0
  2257. rgde.append(rgde_)
  2258. ####jixie
  2259. jxde = []
  2260. jx = pd.read_csv("de/sz/JD_GuJiaJX.csv")
  2261. filtered1 = jx[jx["DEBH"]==debh]
  2262. for i in range(len(filtered1)):
  2263. jxde_ = {}
  2264. sl = filtered1.iloc[i]["SL"]##shuliang
  2265. hj = filtered1.iloc[i]["HJ"]##hejia
  2266. rcjID = filtered1.iloc[i]["RcjID"]
  2267. detail = pd.read_csv("de/sz/JD_JiXieK.csv")
  2268. filtered2 = detail[detail["RcjID"]==rcjID]
  2269. if len(filtered2) > 0:
  2270. jxbh = filtered2.iloc[0]["jxbh"]
  2271. jxmc = filtered2.iloc[0]["jxmc"]
  2272. DW = filtered2.iloc[0]["DW"]
  2273. tbdj = filtered2.iloc[0]["tbdj"]
  2274. jxde_["jxbh"] = jxbh
  2275. jxde_["jxmc"] = jxmc
  2276. jxde_["DW"] = DW
  2277. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2278. jxde_["sl"] = sl.item() if type(sl) == float64 else sl
  2279. jxde_["hj"] = hj.item() if type(hj) == float64 else hj
  2280. if jxbh in additional:
  2281. additional.remove(jxbh)
  2282. jxde.append(jxde_)
  2283. detail = pd.read_csv("de/sz/JD_JiXieK.csv")
  2284. added = detail[detail['jxbh'].isin(additional)]
  2285. for _, entry in added.iterrows():
  2286. jxde_ = {}
  2287. jxbh = entry["jxbh"]
  2288. jxmc = entry["jxmc"]
  2289. DW = entry["DW"]
  2290. tbdj = entry["tbdj"]
  2291. jxde_["jxbh"] = jxbh
  2292. jxde_["jxmc"] = jxmc
  2293. jxde_["DW"] = DW
  2294. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2295. jxde_["sl"] = 0
  2296. jxde_["hj"] = 0
  2297. jxde.append(jxde_)
  2298. ####cailiao
  2299. clde = []
  2300. cl = pd.read_csv("de/sz/JD_GuJiaCL.csv")
  2301. filtered1 = cl[cl["DEBH"]==debh]
  2302. for i in range(len(filtered1)):
  2303. clde_ = {}
  2304. SL = filtered1.iloc[i]["SL"]##shuliang
  2305. HJ = filtered1.iloc[i]["HJ"]##hejia
  2306. rcjID = filtered1.iloc[i]["RcjID"]
  2307. detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  2308. filtered2 = detail[detail["RcjID"]==rcjID]
  2309. detail_ = pd.read_csv("de/sz/JD_PeiBi.csv")
  2310. filtered2_ = detail_[detail_["RcjID"]==rcjID]
  2311. if len(filtered2) > 0 and len(filtered2_) == 0:
  2312. CLBH = filtered2.iloc[0]["CLBH"]
  2313. CLMC = filtered2.iloc[0]["CLMC"]
  2314. JLDW = filtered2.iloc[0]["JLDW"]
  2315. YSJG = filtered2.iloc[0]["YSJG"]
  2316. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2317. clde_["CLMC"] = CLMC
  2318. clde_["JLDW"] = JLDW
  2319. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2320. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2321. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2322. clde.append(clde_)
  2323. elif len(filtered2) == 0 and len(filtered2_) > 0:
  2324. CLBH = filtered2_.iloc[0]["PBBH"]
  2325. CLMC = filtered2_.iloc[0]["PBMC"]
  2326. JLDW = filtered2_.iloc[0]["DW"]
  2327. YSJG = filtered2_.iloc[0]["PBDJ"]
  2328. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2329. clde_["CLMC"] = CLMC
  2330. clde_["JLDW"] = JLDW
  2331. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2332. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2333. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2334. clde.append(clde_)
  2335. elif len(filtered2) > 0 and len(filtered2_) > 0:
  2336. YSJG = filtered2.iloc[0]["YSJG"]
  2337. YSJG_ = filtered2_.iloc[0]["PBDJ"]
  2338. ##print(debh)
  2339. if float(HJ) < 0.00001:
  2340. if float(YSJG) < 0.00001:
  2341. CLBH = filtered2.iloc[0]["CLBH"]
  2342. CLMC = filtered2.iloc[0]["CLMC"]
  2343. JLDW = filtered2.iloc[0]["JLDW"]
  2344. YSJG = filtered2.iloc[0]["YSJG"]
  2345. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2346. clde_["CLMC"] = CLMC
  2347. clde_["JLDW"] = JLDW
  2348. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2349. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2350. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2351. clde.append(clde_)
  2352. elif float(YSJG_) < 0.00001:
  2353. CLBH = filtered2_.iloc[0]["PBBH"]
  2354. CLMC = filtered2_.iloc[0]["PBMC"]
  2355. JLDW = filtered2_.iloc[0]["DW"]
  2356. YSJG = filtered2_.iloc[0]["PBDJ"]
  2357. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2358. clde_["CLMC"] = CLMC
  2359. clde_["JLDW"] = JLDW
  2360. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2361. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2362. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2363. clde.append(clde_)
  2364. else:
  2365. ratio = float(YSJG) / (float(HJ) / float(SL))
  2366. ratio_ = float(YSJG_) / (float(HJ) / float(SL))
  2367. if abs(ratio - 1) < abs(ratio_ - 1):
  2368. CLBH = filtered2.iloc[0]["CLBH"]
  2369. CLMC = filtered2.iloc[0]["CLMC"]
  2370. JLDW = filtered2.iloc[0]["JLDW"]
  2371. YSJG = filtered2.iloc[0]["YSJG"]
  2372. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2373. clde_["CLMC"] = CLMC
  2374. clde_["JLDW"] = JLDW
  2375. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2376. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2377. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2378. clde.append(clde_)
  2379. else:
  2380. CLBH = filtered2_.iloc[0]["PBBH"]
  2381. CLMC = filtered2_.iloc[0]["PBMC"]
  2382. JLDW = filtered2_.iloc[0]["DW"]
  2383. YSJG = filtered2_.iloc[0]["PBDJ"]
  2384. clde_["CLBH"] = CLBH.item() if type(CLBH) == int64 else CLBH
  2385. clde_["CLMC"] = CLMC
  2386. clde_["JLDW"] = JLDW
  2387. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2388. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2389. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2390. clde.append(clde_)
  2391. if 'CLBH' in clde_ and clde_['CLBH'] in additional:
  2392. additional.remove(clde_['CLBH'])
  2393. detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
  2394. detail = detail[detail['RcjLb'].isin([2, '2'])]
  2395. added = detail[detail['CLBH'].isin(additional)]
  2396. for _, entry in added.iterrows():
  2397. clde_ = {}
  2398. CLBH = entry["CLBH"]
  2399. CLMC = entry["CLMC"]
  2400. JLDW = entry["JLDW"]
  2401. YSJG = entry["YSJG"]
  2402. clde_["CLBH"] = CLBH
  2403. clde_["CLMC"] = CLMC
  2404. clde_["JLDW"] = JLDW
  2405. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2406. clde_["SL"] = 0
  2407. clde_["HJ"] = 0
  2408. clde.append(clde_)
  2409. detail = pd.read_csv("de/sz/JD_PeiBi.csv")
  2410. added = detail[detail['PBBH'].isin(additional)]
  2411. for _, entry in added.iterrows():
  2412. clde_ = {}
  2413. CLBH = entry["PBBH"]
  2414. CLMC = entry["PBMC"]
  2415. JLDW = entry["DW"]
  2416. YSJG = entry["PBDJ"]
  2417. clde_["CLBH"] = CLBH
  2418. clde_["CLMC"] = CLMC
  2419. clde_["JLDW"] = JLDW
  2420. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2421. clde_["SL"] = 0
  2422. clde_["HJ"] = 0
  2423. clde.append(clde_)
  2424. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  2425. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  2426. def getSingleDeXilie_tj(debh):
  2427. id = None
  2428. bz_selected = []
  2429. bz_selected2 = []
  2430. additional = []
  2431. if "附注" in debh:
  2432. position = debh.find("附注")
  2433. debh = debh[:position]
  2434. if "*" in debh:
  2435. position = debh.find("*")
  2436. debh = debh[:position]
  2437. if debh.endswith("换"):
  2438. debh = debh[:-1]
  2439. if "[" in debh:
  2440. position = debh.find("[")
  2441. debh = debh[:position-1]
  2442. gj = pd.read_csv("de/tj/JD_DanWeiGJ.csv")
  2443. filtered = gj[gj["DEBH"]==debh]
  2444. ##print(filtered)
  2445. if len(filtered) > 0:
  2446. index = int(filtered.iloc[0]["YSDELBH"])
  2447. shu = pd.read_csv("de/tj/JD_DingEShu.csv")
  2448. hit = shu[shu["zjh"]==index]
  2449. if len(hit) > 0:
  2450. id = hit.iloc[0]["ID"]
  2451. beizhu = str(filtered.iloc[0]["BZBH"])
  2452. if 'nan' in beizhu:
  2453. pass
  2454. else:
  2455. beizhus = beizhu.split(";")
  2456. ##print(beizhus)
  2457. bzfile = pd.read_csv("de/tj/JD_BeiZhuZK.csv")
  2458. bzfile2 = pd.read_csv("de/tj/JD_BeiZhuFK.csv", dtype=str)
  2459. bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
  2460. bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
  2461. bz_selected2 = bz_selected2.astype({'BH': str})
  2462. additional = bz_selected2['BH'].tolist()
  2463. additional = [entry for entry in additional if not entry in ['000000', '000001', 'J00000', '100000', '800101', '015103', '066121', '066501', '066503', '070101', '070303', '070902', '071121', '241503', '8021', '80210']]
  2464. else:
  2465. return None, None, None, None, None, None, None
  2466. ####rengong
  2467. rgde = []
  2468. rg = pd.read_csv("de/tj/JD_GuJiaRG.csv")
  2469. filtered1 = rg[rg["DEBH"]==debh]
  2470. for i in range(len(filtered1)):
  2471. rgde_ = {}
  2472. gr = filtered1.iloc[i]["RGR"]##gongri
  2473. gf = filtered1.iloc[i]["RGF"]##gongfei
  2474. rcjID = filtered1.iloc[i]["RcjID"]
  2475. detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  2476. filtered2 = detail[detail["RcjID"]==rcjID]
  2477. if len(filtered2) > 0:
  2478. CLBH = filtered2.iloc[0]["CLBH"]
  2479. CLMC = filtered2.iloc[0]["CLMC"]
  2480. JLDW = filtered2.iloc[0]["JLDW"]
  2481. YSJG = filtered2.iloc[0]["YSJG"]
  2482. rgde_["CLBH"] = CLBH
  2483. rgde_["CLMC"] = CLMC
  2484. rgde_["JLDW"] = JLDW
  2485. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2486. rgde_["gr"] = gr.item() if type(gr) == float64 else gr
  2487. rgde_["gf"] = gf.item() if type(gf) == float64 else gf
  2488. if CLBH in additional:
  2489. additional.remove(CLBH)
  2490. rgde.append(rgde_)
  2491. detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  2492. detail = detail[detail['RcjLb'].isin([1, '1'])]
  2493. added = detail[detail['CLBH'].isin(additional)]
  2494. for _, entry in added.iterrows():
  2495. rgde_ = {}
  2496. CLBH = entry["CLBH"]
  2497. CLMC = entry["CLMC"]
  2498. JLDW = entry["JLDW"]
  2499. YSJG = entry["YSJG"]
  2500. rgde_["CLBH"] = CLBH
  2501. rgde_["CLMC"] = CLMC
  2502. rgde_["JLDW"] = JLDW
  2503. rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2504. rgde_["gr"] = 0
  2505. rgde_["gf"] = 0
  2506. rgde.append(rgde_)
  2507. ####jixie
  2508. jxde = []
  2509. jx = pd.read_csv("de/tj/JD_GuJiaJX.csv")
  2510. filtered1 = jx[jx["DEBH"]==debh]
  2511. for i in range(len(filtered1)):
  2512. jxde_ = {}
  2513. sl = filtered1.iloc[i]["SL"]##shuliang
  2514. hj = filtered1.iloc[i]["HJ"]##hejia
  2515. rcjID = filtered1.iloc[i]["RcjID"]
  2516. detail = pd.read_csv("de/tj/JD_JiXieK.csv")
  2517. filtered2 = detail[detail["RcjID"]==rcjID]
  2518. if len(filtered2) > 0:
  2519. jxbh = filtered2.iloc[0]["jxbh"]
  2520. jxmc = filtered2.iloc[0]["jxmc"]
  2521. DW = filtered2.iloc[0]["DW"]
  2522. tbdj = filtered2.iloc[0]["tbdj"]
  2523. jxde_["jxbh"] = jxbh
  2524. jxde_["jxmc"] = jxmc
  2525. jxde_["DW"] = DW
  2526. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2527. jxde_["sl"] = sl.item() if type(sl) == float64 else sl
  2528. jxde_["hj"] = hj.item() if type(hj) == float64 else hj
  2529. if jxbh in additional:
  2530. additional.remove(jxbh)
  2531. jxde.append(jxde_)
  2532. detail = pd.read_csv("de/tj/JD_JiXieK.csv")
  2533. added = detail[detail['jxbh'].isin(additional)]
  2534. for _, entry in added.iterrows():
  2535. jxde_ = {}
  2536. jxbh = entry["jxbh"]
  2537. jxmc = entry["jxmc"]
  2538. DW = entry["DW"]
  2539. tbdj = entry["tbdj"]
  2540. jxde_["jxbh"] = jxbh
  2541. jxde_["jxmc"] = jxmc
  2542. jxde_["DW"] = DW
  2543. jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
  2544. jxde_["sl"] = 0
  2545. jxde_["hj"] = 0
  2546. jxde.append(jxde_)
  2547. clde = []
  2548. cl = pd.read_csv("de/tj/JD_GuJiaCL.csv")
  2549. filtered1 = cl[cl["DEBH"]==debh]
  2550. for i in range(len(filtered1)):
  2551. clde_ = {}
  2552. SL = filtered1.iloc[i]["SL"]##shuliang
  2553. HJ = filtered1.iloc[i]["HJ"]##hejia
  2554. rcjID = filtered1.iloc[i]["RcjID"]
  2555. detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  2556. filtered2 = detail[detail["RcjID"]==rcjID]
  2557. detail_ = pd.read_csv("de/tj/JD_PeiBi.csv")
  2558. filtered2_ = detail_[detail_["RcjID"]==rcjID]
  2559. if len(filtered2) > 0 and len(filtered2_) == 0:
  2560. CLBH = filtered2.iloc[0]["CLBH"]
  2561. CLMC = filtered2.iloc[0]["CLMC"]
  2562. JLDW = filtered2.iloc[0]["JLDW"]
  2563. YSJG = filtered2.iloc[0]["YSJG"]
  2564. clde_["CLBH"] = CLBH
  2565. clde_["CLMC"] = CLMC
  2566. clde_["JLDW"] = JLDW
  2567. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2568. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2569. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2570. clde.append(clde_)
  2571. elif len(filtered2) == 0 and len(filtered2_) > 0:
  2572. CLBH = filtered2_.iloc[0]["PBBH"]
  2573. CLMC = filtered2_.iloc[0]["PBMC"]
  2574. JLDW = filtered2_.iloc[0]["DW"]
  2575. YSJG = filtered2_.iloc[0]["PBDJ"]
  2576. clde_["CLBH"] = CLBH
  2577. clde_["CLMC"] = CLMC
  2578. clde_["JLDW"] = JLDW
  2579. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2580. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2581. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2582. clde.append(clde_)
  2583. elif len(filtered2) > 0 and len(filtered2_) > 0:
  2584. YSJG = filtered2.iloc[0]["YSJG"]
  2585. YSJG_ = filtered2_.iloc[0]["PBDJ"]
  2586. if float(HJ) < 0.00001:
  2587. if float(YSJG) < 0.00001:
  2588. CLBH = filtered2.iloc[0]["CLBH"]
  2589. CLMC = filtered2.iloc[0]["CLMC"]
  2590. JLDW = filtered2.iloc[0]["JLDW"]
  2591. YSJG = filtered2.iloc[0]["YSJG"]
  2592. clde_["CLBH"] = CLBH
  2593. clde_["CLMC"] = CLMC
  2594. clde_["JLDW"] = JLDW
  2595. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2596. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2597. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2598. clde.append(clde_)
  2599. elif float(YSJG_) < 0.00001:
  2600. CLBH = filtered2_.iloc[0]["PBBH"]
  2601. CLMC = filtered2_.iloc[0]["PBMC"]
  2602. JLDW = filtered2_.iloc[0]["DW"]
  2603. YSJG = filtered2_.iloc[0]["PBDJ"]
  2604. clde_["CLBH"] = CLBH
  2605. clde_["CLMC"] = CLMC
  2606. clde_["JLDW"] = JLDW
  2607. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2608. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2609. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2610. clde.append(clde_)
  2611. else:
  2612. ratio = float(YSJG) / (float(HJ) / float(SL))
  2613. ratio_ = float(YSJG_) / (float(HJ) / float(SL))
  2614. if abs(ratio - 1) < abs(ratio_ - 1):
  2615. CLBH = filtered2.iloc[0]["CLBH"]
  2616. CLMC = filtered2.iloc[0]["CLMC"]
  2617. JLDW = filtered2.iloc[0]["JLDW"]
  2618. YSJG = filtered2.iloc[0]["YSJG"]
  2619. clde_["CLBH"] = CLBH
  2620. clde_["CLMC"] = CLMC
  2621. clde_["JLDW"] = JLDW
  2622. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2623. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2624. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2625. clde.append(clde_)
  2626. else:
  2627. CLBH = filtered2_.iloc[0]["PBBH"]
  2628. CLMC = filtered2_.iloc[0]["PBMC"]
  2629. JLDW = filtered2_.iloc[0]["DW"]
  2630. YSJG = filtered2_.iloc[0]["PBDJ"]
  2631. clde_["CLBH"] = CLBH
  2632. clde_["CLMC"] = CLMC
  2633. clde_["JLDW"] = JLDW
  2634. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2635. clde_["SL"] = SL.item() if type(SL) == float64 else SL
  2636. clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
  2637. clde.append(clde_)
  2638. if 'CLBH' in clde_ and clde_['CLBH'] in additional:
  2639. additional.remove(clde_['CLBH'])
  2640. detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
  2641. detail = detail[detail['RcjLb'].isin([2, '2'])]
  2642. added = detail[detail['CLBH'].isin(additional)]
  2643. for _, entry in added.iterrows():
  2644. clde_ = {}
  2645. CLBH = entry["CLBH"]
  2646. CLMC = entry["CLMC"]
  2647. JLDW = entry["JLDW"]
  2648. YSJG = entry["YSJG"]
  2649. clde_["CLBH"] = CLBH
  2650. clde_["CLMC"] = CLMC
  2651. clde_["JLDW"] = JLDW
  2652. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2653. clde_["SL"] = 0
  2654. clde_["HJ"] = 0
  2655. clde.append(clde_)
  2656. detail = pd.read_csv("de/tj/JD_PeiBi.csv")
  2657. added = detail[detail['PBBH'].isin(additional)]
  2658. for _, entry in added.iterrows():
  2659. clde_ = {}
  2660. CLBH = entry["PBBH"]
  2661. CLMC = entry["PBMC"]
  2662. JLDW = entry["DW"]
  2663. YSJG = entry["PBDJ"]
  2664. clde_["CLBH"] = CLBH
  2665. clde_["CLMC"] = CLMC
  2666. clde_["JLDW"] = JLDW
  2667. clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
  2668. clde_["SL"] = 0
  2669. clde_["HJ"] = 0
  2670. clde.append(clde_)
  2671. filtered = filtered.drop(['BH1', 'BH2', "GCLCLF", "GCLCLF1", "GCLGG", "GCLGLF", "GCLJJ", "GCLJXF", "GCLLR", "GCLRGF", "GCLRGR", "GCLSJDJ", "GCPBHJ", "GLFFL", "LRFL", "PBBH", "PBBHM", "PBDJ", "PBSL", "THMC", "THSL", "dejb", "is_lock", "mcxz", "qfbz", "sptfl"], axis=1)
  2672. return filtered.to_json(force_ascii=False), id, rgde, jxde, clde, bz_selected.to_json(force_ascii=False) if len(bz_selected) > 0 else None, bz_selected2.to_json(force_ascii=False) if len(bz_selected2) > 0 else None
  2673. def getDwgc(root, id, Zylb):
  2674. result = []
  2675. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  2676. item = None
  2677. for child in root:
  2678. if child.tag == "Dxgcxx":
  2679. for child1 in child:
  2680. Dwgcbh = child1.attrib["Dwgcbh"]
  2681. if Dwgcbh == id:
  2682. item = child1
  2683. break
  2684. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  2685. id = id + "Zylb" + Zylb
  2686. for child in item:
  2687. if child.tag == "Fywj":
  2688. result.append({"id": id + "bao jia hui zong", "label": "报价汇总表"})
  2689. elif child.tag == "Gfsj":
  2690. result.append({"id": id + "gui fei shui jin", "label": "规费税金"})
  2691. elif child.tag == "Qdxm":
  2692. result.append({"id": id + "qing dan xiang mu", "label": "清单项目"})
  2693. elif child.tag == "Csxm":
  2694. result.append({"id": id + "cuo shi xiang mu", "label": "措施项目"})
  2695. elif child.tag == "Qtxm":
  2696. result.append({"id": id +"qi ta xiang mu", "label": "其他项目"})
  2697. elif child.tag == "Zlje":
  2698. result.append({"id": id +"zan lie jin e", "label": "暂列金额"})
  2699. elif child.tag == "Clzg":
  2700. result.append({"id": id +"cai liao zan gu jia", "label": "材料暂估价"})
  2701. elif child.tag == "Zygczg":
  2702. result.append({"id": id + "zhuan ye gong cheng zan gu jia", "label": "专业工程暂估价"})
  2703. elif child.tag == "Jrg":
  2704. result.append({"id": id + "ji ri gong", "label": "计日工"})
  2705. elif child.tag == "Zcbfwf":
  2706. result.append({"id": id + "zong cheng bao fu wu fei", "label": "总承包服务费"})
  2707. elif child.tag == "Zjxmjdkzffj":
  2708. result.append({"id": id + "zong jia xiang mu jin du kuan zhi fu fen jie", "label": "总价项目进度款支付分解"})
  2709. elif child.tag == "Fbrgycl":
  2710. result.append({"id": id + "fa bao ren gong ying cai liao", "label": "发包人供应材料"})
  2711. elif child.tag == "Cbrgycl":
  2712. result.append({"id": id + "cheng bao ren gong ying cai liao", "label": "承包人供应材料"})
  2713. elif child.tag == "Rcjhz":
  2714. result.append({"id": id + "ren cai ji hui zong", "label": "人材机汇总"})
  2715. else:
  2716. print(child.tag)
  2717. print("WARNING####################################################################")
  2718. return result
  2719. def getDjcs(root, id):
  2720. result = []
  2721. #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
  2722. item = None
  2723. for child in root:
  2724. if child.tag == "Dxgcxx":
  2725. for child1 in child:
  2726. Dwgcbh = child1.attrib["Dwgcbh"]
  2727. if Dwgcbh == id:
  2728. item = child1
  2729. break
  2730. ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
  2731. Fywj = None
  2732. for child in item:
  2733. if child.tag == 'Csxm':
  2734. Fywj= child
  2735. break
  2736. Djcs_parent = None
  2737. for child in Fywj:
  2738. if child.tag == 'DjCs':
  2739. Djcs_parent = child
  2740. break
  2741. for child in Djcs_parent:
  2742. ##child is mx {
  2743. result.append({
  2744. "序号": child.attrib["Xh"], "清单编码": child.attrib["Bm"], "名称" : child.attrib["Mc"],
  2745. "项目特征" : child.attrib["Xmtz"],
  2746. "计算规则" : child.attrib["Jsgz"], "单位" : child.attrib["Dw"], "数量" : child.attrib["Sl"],
  2747. "综合单价" : child.attrib["Zhdj"], "合价" : child.attrib["Zhhj"], "人工费" : child.attrib["Rgf"],
  2748. "主材费" : child.attrib["Zcf"],
  2749. "设备费" : child.attrib["Sbf"], "辅材费" : child.attrib["Fcf"], "材料费" : child.attrib["Clf"],
  2750. "机械费" : child.attrib["Jxf"], "管理费" : child.attrib["Glf"], "利润" : child.attrib["Lr"],
  2751. "暂估价" : child.attrib["Zgj"], "综合人工工日" : child.attrib["Zgr"] })
  2752. __children = []
  2753. zj_parent = None
  2754. for grandchild in child:
  2755. if grandchild.tag == "Csxdezj":
  2756. zj_parent = grandchild
  2757. if zj_parent:
  2758. for entry in zj_parent:
  2759. key = str(uuid.uuid4())
  2760. entry.set("key", key)
  2761. __children.append({
  2762. "key": key,
  2763. "序号": None, "清单编码": entry.attrib["Debm"], "名称" : entry.attrib["Mc"],
  2764. "项目特征" : None,
  2765. "计算规则" : None, "单位" : entry.attrib["Dw"], "数量" : entry.attrib["DwQdSl"],
  2766. "综合单价" : entry.attrib["Dj"], "合价" : entry.attrib["Hj"], "人工费" : entry.attrib["Rgf"],
  2767. "主材费" : entry.attrib["Zcf"],
  2768. "设备费" : entry.attrib["Sbf"], "辅材费" : entry.attrib["Fcf"], "材料费" : entry.attrib["Clf"],
  2769. "机械费" : entry.attrib["Jxf"], "管理费" : entry.attrib["Glf"], "利润" : entry.attrib["Lr"],
  2770. "暂估价" : None, "综合人工工日" : None })
  2771. if len(__children) > 0:
  2772. result[-1]["__children"] = __children
  2773. return result