service.py 128 KB

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