service.py 130 KB

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