service.py 131 KB

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