| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106 |
- import xml.etree.ElementTree as ET
- from typing import Union
- import os
- import json
- import uuid
- import re
- from pydantic import BaseModel
- import pandas as pd
- from numpy import float64, int64
- import numpy as np
- def chaifen(result, zhuanye):
- clde = result['clde']
- if clde == None:
- return result
- if zhuanye == 10:
- pbf = pd.read_csv("de/tj/JD_PeiBiF.csv")
- clk = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- elif zhuanye == 20:
- pbf = pd.read_csv("de/sz/JD_PeiBiF.csv")
- clk = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- elif zhuanye == 30:
- pbf = pd.read_csv("de/az/JD_PeiBiF.csv")
- clk = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- elif zhuanye == 40:
- pbf = pd.read_csv("de/yl/JD_PeiBiF.csv")
- clk = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- elif zhuanye == 50:
- pbf = pd.read_csv("de/xstj/JD_PeiBiF.csv")
- clk = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- else:
- pbf = pd.read_csv("de/xsaz/JD_PeiBiF.csv")
- clk = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
- for entry in clde:
- filtered = pbf[pbf["PBBH"]==entry['CLBH']]
- if len(filtered) > 0:
- entry["children"] = []
- ids = filtered['RcjID'].tolist()
- cls = clk[clk['RcjID'].isin(ids)]
- joined = pd.merge(filtered, cls, on='RcjID')
- for row in joined.itertuples():
- CLBH = row.CLBH
- CLMC = row.CLMC
- JLDW = row.JLDW
- YSJG = row.Csdj
- SL = float(row.SL) * float(entry['SL'])
- HJ = float(row.HJ) * float(entry['SL'])
- entry['children'].append({'CLBH': CLBH,
- 'CLMC': CLMC,
- 'JLDW': JLDW,
- 'YSJG': YSJG,
- 'SL': SL,
- 'HJ': HJ
- })
-
- ##print(result)
- return result
- def getQingdanTuijian(bh, bt, bm):
- result = []
- try:
- all = pd.read_csv("QingDanAllInOne.csv")
- bm_ = int(bm) // 1000
- hit = all[all["qdbh"] == str(bm_)]
- for i in range(len(hit)):
- result.append({'ID': hit.iloc[i]["index"].item(), '定额编号': hit.iloc[i]["debh"], '工程量名称': hit.iloc[i]["gclmc"], '工作内容': hit.iloc[i]["work"]})
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- finally:
- return result
- def getQdmx(root, bh, bt):
- result = []
- #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费", "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == bh:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Qdxm':
- Fywj= child
- break
- container = None
- for child in Fywj:
- ##child is mx
-
- if child.tag == "QdBt":
- if child.attrib["Mc"] == bt:
- count = 0
- for grandchild in child:
- count = count + 1
- if count > 0:
-
- container = child
- break
-
-
- if container == None:
- container = Fywj
-
-
- for child in container:
-
- #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费",
- # "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
- result.append({
- "操作" : "",
- "序号": child.attrib["Xh"], "清单编码" : child.attrib["Qdbm"], "名称" : child.attrib["Mc"],"项目特征" : child.attrib["Xmtz"],
- "计算规则" : child.attrib["Jsgz"],
- "单位" : child.attrib["Dw"],
- "数量": child.attrib["Sl"],
- "综合单价" : child.attrib["Zhdj"],
- "合价" : child.attrib["Zhhj"],
- "人工费": child.attrib["Rgf"],
- "主材费" : child.attrib["Zcf"],
- "设备费": child.attrib["Sbf"],
- "辅材费": child.attrib["Fcf"],
- "材料费" : child.attrib["Clf"],
- "机械费" : child.attrib["Jxf"],
- "管理费": child.attrib["Glf"],
- "利润": child.attrib["Lr"],
- "暂估价" : child.attrib["Zgj"],
- "综合人工工日" : child.attrib["Zgr"],
- "备注" : child.attrib["Bz"]}
- )
- for child_zj in child:
- if child_zj.tag == "Qdxdezj":
- for child_mx in child_zj:
- if child_mx.tag == "QdxdezjMx":
- key = str(uuid.uuid4())
- child_mx.set("key", key)
- ##print("set key")
- ##print(key)
- ##print(child_mx)
- parent = result[-1]
- if "__children" in parent:
- parent["__children"].append({
- "key": key,
- "操作" : "",
- "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
- "计算规则" : None,
- "单位" : child_mx.attrib["Dw"],
- "数量": child_mx.attrib["DwQdSl"],
- "综合单价" : child_mx.attrib["Dj"],
- "合价" : child_mx.attrib["Hj"],
- "人工费": child_mx.attrib["Rgf"],
- "主材费" : child_mx.attrib["Zcf"],
- "设备费": child_mx.attrib["Sbf"],
- "辅材费": child_mx.attrib["Fcf"],
- "材料费" : child_mx.attrib["Clf"],
- "机械费" : child_mx.attrib["Jxf"],
- "管理费": child_mx.attrib["Glf"],
- "利润": child_mx.attrib["Lr"],
- "暂估价" : None,
- "综合人工工日" : None,
- "备注" : None}
- )
- else:
- parent["__children"] = [{
- "key": key,
- "操作" : "",
- "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
- "计算规则" : None,
- "单位" : child_mx.attrib["Dw"],
- "数量": child_mx.attrib["DwQdSl"],
- "综合单价" : child_mx.attrib["Dj"],
- "合价" : child_mx.attrib["Hj"],
- "人工费": child_mx.attrib["Rgf"],
- "主材费" : child_mx.attrib["Zcf"],
- "设备费": child_mx.attrib["Sbf"],
- "辅材费": child_mx.attrib["Fcf"],
- "材料费" : child_mx.attrib["Clf"],
- "机械费" : child_mx.attrib["Jxf"],
- "管理费": child_mx.attrib["Glf"],
- "利润": child_mx.attrib["Lr"],
- "暂估价" : None,
- "综合人工工日" : None,
- "备注" : None}]
- return result
- def getQdmx_default(root, bh, bt):
- result = []
- #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费", "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == bh:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Qdxm':
- Fywj= child
- break
- container = None
- for child in Fywj:
- ##child is mx
-
- if child.tag == "Qdmx":
- #result = [["序号", "清单编码", "名称", "项目特征", "计算规则", "单位", "数量", "综合单价", "合价", "人工费", "主材费",
- # "设备费", "辅材费", "材料费", "机械费", "管理费", "利润" , "暂估价", "综合人工工日", "备注" ]]
- result.append({
- "操作" : "",
- "序号": child.attrib["Xh"], "清单编码" : child.attrib["Qdbm"], "名称" : child.attrib["Mc"],"项目特征" : child.attrib["Xmtz"],
- "计算规则" : child.attrib["Jsgz"],
- "单位" : child.attrib["Dw"],
- "数量": child.attrib["Sl"],
- "综合单价" : child.attrib["Zhdj"],
- "合价" : child.attrib["Zhhj"],
- "人工费": child.attrib["Rgf"],
- "主材费" : child.attrib["Zcf"],
- "设备费": child.attrib["Sbf"],
- "辅材费": child.attrib["Fcf"],
- "材料费" : child.attrib["Clf"],
- "机械费" : child.attrib["Jxf"],
- "管理费": child.attrib["Glf"],
- "利润": child.attrib["Lr"],
- "暂估价" : child.attrib["Zgj"],
- "综合人工工日" : child.attrib["Zgr"],
- "备注" : child.attrib["Bz"]}
- )
- for child_zj in child:
- if child_zj.tag == "Qdxdezj":
- for child_mx in child_zj:
- if child_mx.tag == "QdxdezjMx":
- key = str(uuid.uuid4())
- child_mx.set("key", key)
- ##print("set key")
- ##print(key)
- ##print(child_mx)
- parent = result[-1]
- if "__children" in parent:
- parent["__children"].append({
- "key": key,
- "操作" : "",
- "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
- "计算规则" : None,
- "单位" : child_mx.attrib["Dw"],
- "数量": child_mx.attrib["DwQdSl"],
- "综合单价" : child_mx.attrib["Dj"],
- "合价" : child_mx.attrib["Hj"],
- "人工费": child_mx.attrib["Rgf"],
- "主材费" : child_mx.attrib["Zcf"],
- "设备费": child_mx.attrib["Sbf"],
- "辅材费": child_mx.attrib["Fcf"],
- "材料费" : child_mx.attrib["Clf"],
- "机械费" : child_mx.attrib["Jxf"],
- "管理费": child_mx.attrib["Glf"],
- "利润": child_mx.attrib["Lr"],
- "暂估价" : None,
- "综合人工工日" : None,
- "备注" : None}
- )
- else:
- parent["__children"] = [{
- "key": key,
- "操作" : "",
- "序号": None, "清单编码" : child_mx.attrib["Debm"], "名称" : child_mx.attrib["Mc"],"项目特征" : None,
- "计算规则" : None,
- "单位" : child_mx.attrib["Dw"],
- "数量": child_mx.attrib["DwQdSl"],
- "综合单价" : child_mx.attrib["Dj"],
- "合价" : child_mx.attrib["Hj"],
- "人工费": child_mx.attrib["Rgf"],
- "主材费" : child_mx.attrib["Zcf"],
- "设备费": child_mx.attrib["Sbf"],
- "辅材费": child_mx.attrib["Fcf"],
- "材料费" : child_mx.attrib["Clf"],
- "机械费" : child_mx.attrib["Jxf"],
- "管理费": child_mx.attrib["Glf"],
- "利润": child_mx.attrib["Lr"],
- "暂估价" : None,
- "综合人工工日" : None,
- "备注" : None}]
- return result
- def getQdxm_addition(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Qdxm':
- Fywj= child
- break
-
- for child in Fywj:
- ##child is mx
- if child.tag == "QdBt":
- count = 0
- for grandchild in child:
- count = count + 1
- if count > 0:
- result.append({'Bz': child.attrib["Bz"], 'Je': child.attrib['Je'], 'Mc': child.attrib['Mc'], 'Xh': child.attrib['Xh'], 'Zgj': child.attrib['Zgj']})
-
- return result
- def getQdxm(root, id):###qdxm下面既有qdmx,也有qdbt,qdbt可能为空
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Qdxm':
- Fywj= child
- break
-
- for child in Fywj:
- ##child is mx
- if child.tag == 'Qdmx':
- if 'Default' in result:
- pass
- else:
- result.append('Default')
- if child.tag == "QdBt":
- count = 0
- for grandchild in child:
- count = count + 1
- if count > 0:
- result.append(child.attrib["Mc"])
-
- return result
- def getZjcs(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Csxm':
- Fywj= child
- break
- Zjcs_parent = None
- for child in Fywj:
- if child.tag == 'ZjCs':
- Zjcs_parent = child
- break
-
- for child in Zjcs_parent:
- ##child is mx {
- result.append({
- "序号" : child.attrib["Xh"], "清单编码": child.attrib["Bm"], "名称" : child.attrib["Mc"],
- "计算基数" : child.attrib["Js"],
- "计算基础" : child.attrib["Jsjc"], "费率" : child.attrib["Fl"],
- "金额" : child.attrib["Je"], "项目类别" : child.attrib["Xmlb"]})
- __children = []
- for grandchild in child:
- __children.append({
- "序号" : None, "清单编码": None, "名称" : grandchild.attrib["Mc"],
- "计算基数" : grandchild.attrib["Js"],
- "计算基础" : grandchild.attrib["Jsjc"], "费率" : grandchild.attrib["Fl"],
- "金额" : grandchild.attrib["Je"], "项目类别" : grandchild.attrib["Xmlb"]})
- if len(__children) > 0:
- result[-1]["__children"] = __children
- return result
- def getZcbfwf(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Zcbfwf':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- {'序号': child.attrib["Xh"],
- "名称" : child.attrib["Mc"], "项目价值" : child.attrib["Xmjz"], "服务内容" :child.attrib["Fwnr"], "计算基础" :child.attrib["Jsjc"],
- "费率" :child.attrib["Fl"], "金额" :child.attrib["Je"]}
- )
- return result
- def getRcjhz(root, id):
- result = [[ "ID", "编码", "名称", "规格型号", "单位", "数量", "单价", "合价", "产地",
- "供应厂商", "人材机类别", "主要材料标志", "主材标志", "设备标志", "甲供标志", "暂估价标志"]]
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Rcjhz':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- [
- child.attrib["RcjId"], child.attrib["RcjBm"], child.attrib["Mc"], child.attrib["Ggxh"],
- child.attrib["Dw"], child.attrib["Sl"], child.attrib["Dj"], child.attrib["Hj"],
- child.attrib["Cd"], child.attrib["Gycs"], child.attrib["Rcjlb"],
- child.attrib["Zyclbz"], child.attrib["Zcbz"], child.attrib["Sbbz"], child.attrib["Jgbz"],
- child.attrib["Zgjbz"]]
- )
- return result
- def getFbrgycl(root, id):
- result = []
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Fbrgycl':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- {'序号': child.attrib["Xh"],
- 'ID': child.attrib["RcjId"], '材料编号': child.attrib["Clbh"], '名称': child.attrib["Mc"], '规格型号': child.attrib["Ggxh"],
- '单位': child.attrib["Dw"], '数量': child.attrib["Sl"], '单价': child.attrib["Dj"], '合价': child.attrib["Hj"], '交货方式': child.attrib["Jhfs"],
- '送达地点': child.attrib["Sddd"], '备注': child.attrib["Bz"]}
- )
- return result
- def getJrg(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Jrg':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- {'序号': child.attrib["Xh"],
- '名称': child.attrib["Mc"], '金额': child.attrib["Je"], '类别': child.attrib["Lb"]}
- )
- return result
- def getZlje(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Zlje':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- {'序号': child.attrib["Xh"],
- '名称': child.attrib["Mc"], '单位': child.attrib["Dw"], '暂定金额': child.attrib["Zdje"], '备注': child.attrib["Bz"]}
- )
- return result
- def getZygczgj(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Zygczg':
- Fywj= child
- break
- for child in Fywj:
- result.append(
- {'序号': child.attrib["Xh"],
- '名称': child.attrib["Mc"], '工程内容': child.attrib["Gcnr"], '金额': child.attrib["Je"], '备注': child.attrib["Bz"]}
- )
- return result
- def getQtxm(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Qtxm':
- Fywj= child
- break
- for child in Fywj:
- ##child is mx
- xh = child.attrib["Xh"]
- if "." in xh:
- count = 0
- for entry in xh:
- if entry == ".":
- count = count + 1
- if count == 1:
- parent = result[-1]
- if "__children" in parent:
- children = parent["__children"]
- children.append(
- {"序号":xh, "名称": child.attrib["Mc"],
- "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}
- )
- else:
- parent["__children"] = [
- {"序号":xh, "名称": child.attrib["Mc"],
- "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}]
-
- else:
- result.append(
- {"序号":xh, "名称": child.attrib["Mc"],
- "金额": child.attrib["Je"], "项目类别" : child.attrib["Xmlb"], "备注" : child.attrib["Bz"]}
- )
- return result
- def getGfsj(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Gfsj':
- Fywj= child
- break
- for child in Fywj:
- ##child is mx
- xh = child.attrib["Xh"]
- if "." in xh:
- count = 0
- for entry in xh:
- if entry == ".":
- count = count + 1
- if count == 1:
- parent = result[-1]
- if "__children" in parent:
- children = parent["__children"]
- children.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
- else:
- parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]}]
- elif count == 2:
- parent = result[-1]
- if "__children" in parent:
- parent = parent["__children"][-1]
- ##print(parent)
- if "__children" in parent:
- children = parent["__children"]
- children.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
-
- else:
- parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]}]
-
- else:
- ###["序号", "名称", "取费基数", "计算基础", "金额", "类别"]);
- result.append({"序号":xh, "名称": child.attrib["Mc"], "取费基数": child.attrib["Qfjs"], "计算基础": child.attrib["Jsjc"], "费率": child.attrib['Fl'], "金额": child.attrib["Je"], "类别" : child.attrib["Fyxlb"]})
- return result
- def getBjhz(root, id):
- ##print(root)
- ##print(id)
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- ##print(item)
- Fywj = None
- for child in item:
- if child.tag == 'Fywj':
- Fywj= child
- break
- for child in Fywj:
- ##child is mx
- xh = child.attrib["Xh"]
- if "." in xh:
- count = 0
- for entry in xh:
- if entry == ".":
- count = count + 1
- if count == 1:
- parent = result[-1]
- if "__children" in parent:
- children = parent["__children"]
- children.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
- else:
- parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]}]
- elif count == 2:
- parent = result[-1]
- if "__children" in parent:
- parent = parent["__children"][-1]
- ##print(parent)
- if "__children" in parent:
- children = parent["__children"]
- children.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
-
- else:
- parent["__children"] = [{"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"], "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]}]
-
- else:
- ###"序号", "名称", "金额", "暂估价", "类别"]
- result.append({"序号":xh, "名称": child.attrib["Mc"], "金额": child.attrib["Je"],
- "暂估价" : child.attrib["Zgj"], "类别" : child.attrib["Fyxlb"]})
- return result
- def processQds(dataframe, from_, end, level):
- result = []
- for i in range(from_, end):
- item = dataframe.iloc[i]
- fbcch = str(item['fbcch'])
- if fbcch == str(level):
- entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "name": str(item['qdbh']) + " " + str(item["xmmc"]), "title": str(item['qdbh'])}
- next = i + 1
- while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
- next = next + 1
- entry["children"] = processQds(dataframe, i + 1, next, level + 1)
- result.append(entry)
- return result
- def processDes(dataframe, from_, end, level):
- result = []
- for i in range(from_, end):
- item = dataframe.iloc[i]
- fbcch = str(item['fbcch'])
- if fbcch == str(level):
- entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["zjbt"]), "title": str(item["zjbt"])}
- next = i + 1
- while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
- next = next + 1
- entry["children"] = processDes(dataframe, i + 1, next, level + 1)
- result.append(entry)
- return result
- def processPbs(dataframe, from_, end, level):
- result = []
- for i in range(from_, end):
- item = dataframe.iloc[i]
- fbcch = str(item['fbcch'])
- if fbcch == str(level):
- entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["flmc"]),"title": str(item["flmc"]), "data": item["pblbh"]}
- next = i + 1
- while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
- next = next + 1
- entry["children"] = processPbs(dataframe, i + 1, next, level + 1)
- result.append(entry)
- return result
- def processJxs(dataframe, from_, end, level):
- result = []
- for i in range(from_, end):
- item = dataframe.iloc[i]
- fbcch = str(item['fbcch'])
- if fbcch == str(level):
- entry = {"id": str(item["ID"]),"key": str(item["ID"]), "value": str(item["ID"]), "label": str(item["flmc"]),"title": str(item["flmc"]), "data": item["jxlbh"]}
- next = i + 1
- while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
- next = next + 1
- entry["children"] = processJxs(dataframe, i + 1, next, level + 1)
- result.append(entry)
- return result
- def processCls(dataframe, from_, end, level):
- result = []
- for i in range(from_, end):
- item = dataframe.iloc[i]
- fbcch = str(item['fbcch'])
- if fbcch == str(level):
- 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"]}
- ##print(entry)
- next = i + 1
- while next < end and str(dataframe.iloc[next]["fbcch"]) != str(level):
- next = next + 1
- entry["children"] = processCls(dataframe, i + 1, next, level + 1)
- result.append(entry)
- return result
- def getCankao():
- tree = ET.parse('de/DeData_Fl.xml')
- root = tree.getroot()
- JSFF = None
- CsFl = None
- result = []
- for child in root:
- if child.tag == "JJFF":
- for grandchild in child:
- if grandchild.tag == 'JSFF':
- JSFF = grandchild
- for child in JSFF:
- if child.attrib['Markup'] == '1':
- for grandchild in child:
- if grandchild.tag == 'CsFl':
- CsFl = grandchild
- for child in CsFl:
- result.append({'工程类型': child.attrib['Gclx'], '名称': child.attrib['Mc'], '计算基础': child.attrib['Jsjc'],
- '参考费率': child.attrib['CkFl'], '地区': child.attrib['Dq'], '备注': child.attrib['Bz']})
- return result
- def getQds():
- shu = pd.read_csv("JD_QingDanXM.csv")
- length = len(shu)
- return processQds(shu, 0, length, 1)
- def getQingdan(bm):
- shu = pd.read_csv("JD_QingDanXM.csv")
- filtered = shu[shu['qdbh']==(bm)]
- filtered = filtered.fillna("")
- print(filtered)
- if len(filtered) == 0:
- return []
- data = filtered.iloc[0]
- tz = pd.read_csv("JD_QingDanTZ.csv")
- tz_ = tz[tz['Qdbm'] == data['qdbh']]['Qdtz']
- tz_list = tz_.to_list()
- nr = pd.read_csv("JD_QingDanGZNR.csv")
- nr_ = nr[nr['Qdbm'] == data['qdbh']]['Gznr']
- nr_list = nr_.to_list()
-
- return [{
- "id" : data['ID'].item(),
- "清单编码" : data['qdbh'],
- "项目名称" : data["xmmc"],
- "项目特征" : "\n".join(tz_list),
- "计量单位" : data["dw"],
- "工程量计算规则" : data["qdjsgz"],
- "工作内容" : "\n".join(nr_list)
- }]
-
- def getDes(value):
- if value == 10:
- shu = pd.read_csv("de/tj/JD_DingEShu.csv")
- elif value == 20:
- shu = pd.read_csv("de/sz/JD_DingEShu.csv")
- elif value == 30:
- shu = pd.read_csv("de/az/JD_DingEShu.csv")
- elif value == 40:
- shu = pd.read_csv("de/yl/JD_DingEShu.csv")
- elif value == 50:
- shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
- else:
- shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
- length = len(shu)
- return processDes(shu, 1, length, 2)
- def getPbs(value):
- if value == 10:
- shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
- elif value == 20:
- shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
- elif value == 30:
- shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
- else:
- return []
- length = len(shu)
- return processPbs(shu, 0, length, 1)
- def getJxs(value):
- if value == 10:
- shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
- elif value == 20:
- shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
- elif value == 30:
- shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
- else:
- return []
- length = len(shu)
- return processJxs(shu, 0, length, 1)
- def getCls(value):
- if value == 10:
- shu = pd.read_csv("de/tj/JD_CaiLiaoFLB.csv")
- elif value == 20:
- shu = pd.read_csv("de/sz/JD_CaiLiaoFLB.csv")
- elif value == 30:
- shu = pd.read_csv("de/az/JD_CaiLiaoFLB.csv")
- elif value == 40:
- shu = pd.read_csv("de/yl/JD_CaiLiaoFLB.csv")
- elif value == 50:
- shu = pd.read_csv("de/xstj/JD_CaiLiaoFLB.csv")
- elif value == 60:
- shu = pd.read_csv("de/xsaz/JD_CaiLiaoFLB.csv")
- else:
- return []
- length = len(shu)
- return processCls(shu, 0, length, 1)
- def read_singledexilie_tjazfy(debh):
- id = "412"
- r_debh = debh.split("!")[0]
- if len(debh.split("!")) == 1:
- return json.dumps({
- "reverse": id,
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 10,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- gclmc = debh.split("!")[1]
-
- return json.dumps({
- "reverse": id,
- "DEBH": {"111": r_debh},
- "GCLMC": {"111": gclmc},
- "DW": {"111": '项'},
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 10,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- def read_singledexilie_xsazfy(debh):
- id = "None"
- if "-F1" in debh:
- id = "185"
- elif "-F2" in debh:
- id = "186"
- elif "-F3" in debh:
- id = "187"
-
- r_debh = debh.split("!")[0]
- if len(debh.split("!")) == 1:
- return json.dumps({
- "reverse": id,
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 60,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- gclmc = debh.split("!")[1]
-
- return json.dumps({
- "reverse": id,
- "DEBH": {"111": r_debh},
- "GCLMC": {"111": gclmc},
- "DW": {"111": '项'},
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 60,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- def read_singledexilie_azfy(debh):
- id = "None"
- if "-F1" in debh:
- id = "2076"
- elif "-F2" in debh:
- id = "2077"
- elif "-F3" in debh:
- id = "2078"
- elif "-F4" in debh:
- id = "2079"
- elif "-F5" in debh:
- if '4-F5' in debh:
- id = "2081"
- elif '5-F5' in debh:
- id = '2082'
- elif '7-F5' in debh:
- id = '2083'
- elif '9-F5' in debh:
- id = '2084'
- elif '10-F5' in debh:
- id = '2085'
- elif '11-F5' in debh:
- id = '2086'
- elif "-F6" in debh:
- id = "2087"
- r_debh = debh.split("!")[0]
- if len(debh.split("!")) == 1:
- return json.dumps({
- "reverse": id,
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 30,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- gclmc = debh.split("!")[1]
-
- return json.dumps({
- "reverse": id,
- "DEBH": {"111": r_debh},
- "GCLMC": {"111": gclmc},
- "DW": {"111": '项'},
- "rgde": [],
- "jxde": [],
- "clde": [],
- "actual_zhuanye": 30,
- "bz_selected": {"BZBH": {}},
- "bz_selected2": {"BZBH": {}}
- }, ensure_ascii=False)
- def getDeXilie_xsazfy(value, id):
- if int(id) == 184:
- return "{\"Unnamed: 0\":{},\"id\":{},\"DEBH\":{},\"GCLMC\":{},\"GCLSJDJ\":{},\"DW\":{},\"DeId\":{}}"
- if int(id) == 185:
- data = {'DW': ['项', '项', '项'],
- 'DEBH': ['1-F1', '2-F1', '3-F1'],
- "GCLMC": [ "第一章" , "第二章", "第三章"],
- "GCLSJDJ": ["0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 186:
- data = {'DW': ['项', '项', '项'],
- 'DEBH': ['1-F2', '2-F2', '3-F2'],
- "GCLMC": [ "第一章" , "第二章", "第三章"],
- "GCLSJDJ": ["0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 187:
- data = {'DW': ['项', '项', '项'],
- 'DEBH': ['1-F3', '2-F3', '3-F3'],
- "GCLMC": [ "第一章" , "第二章", "第三章"],
- "GCLSJDJ": ["0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- def getDeXilie_azfy(value, id):
- if int(id) == 2075 or int(id) == 2080:
- return "{\"Unnamed: 0\":{},\"id\":{},\"DEBH\":{},\"GCLMC\":{},\"GCLSJDJ\":{},\"DW\":{},\"DeId\":{}}"
- if int(id) == 2076:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项", "项", "项", "项", "项", "项"],
- 'DEBH': ['2-F1', '2-F1', '3-F1', '3-F1', '4-F1',
- '5-F1', '6-F1', '7-F1', '8-F1', '9-F1', '10-F1', '11-F1', '11-F1', '11-F1', '11-F1', '11-F1'],
- "GCLMC": ["第二册第1-5章(定额2-1~2-390)", "第二册第6章(定额2-391~2-9999)", "第三册静置设备制作(定额3-1~3-615)",
- "第三册除静置设备制作以外(定额3-616~3-9999)", "第四册",
- "第五册", "第六册", "第七册", "第八册", "第九册", "第十册",
- "第十一册刷油工程(定额11-51~11-329)",
- "第十一册防腐蚀工程(定额11-330~11-1689)", "第十一册绝热工程(定额11-1690~11-2327)", "第十一册除锈工程(定额11-1~11-50)刷油工程", "第十一册除锈工程(定额11-1~11-50)防腐蚀工程"],
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2077:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项','项','项',
- '项','项','项','项','项','项','项','项','项','项',
- '项','项','项',
- '项','项', "项",'项','项','项','项', "项",'项', "项"],
- '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',
- '4-F2', '5-F2', '5-F2', '5-F2','6-F2',
- '7-F2', '9-F2','9-F2','9-F2','9-F2', '10-F2','10-F2','10-F2','10-F2',
- '11-F2','11-F2','11-F2','11-F2', '11-F2','11-F2','11-F2' ],
- "GCLMC": ["第一册第1-6章(定额1-1~1-571)10-15m",
- "第一册第1-6章(定额1-1~1-571)15-20m",
- "第一册第1-6章(定额1-1~1-571)20-25m",
- "第一册第1-6章(定额1-1~1-571)25-30m",
- "第一册第1-6章(定额1-1~1-571)30-40m",
- "第一册第1-6章(定额1-1~1-571)40m以上",
- "第一册第8-14章(定额1-672~1-9999)10-15m",
- "第一册第8-14章(定额1-672~1-9999)15-20m",
- "第一册第8-14章(定额1-672~1-9999)20-25m",
- "第一册第8-14章(定额1-672~1-9999)25-30m",
- "第一册第8-14章(定额1-672~1-9999)30-40m",
- "第一册第8-14章(定额1-672~1-9999)40m以上",
- "第四册",
- "第五册5m以上到10m以内",
- "第五册10-20m",
- "第五册20m以上",
- "第六册", "第七册",
- "第九册5m以上到8m以内",
- "第九册8-12m",
- "第九册12-16m",
- "第九册16-20m",
- "第十册3.6-8m以内",
- "第十册8-12m以内",
- "第十册12-16m以内",
- "第十册16-20m",
- "第十一册6-20m",
- "第十一册20-30m",
- "第十一册30-40m",
- "第十一册40-50m",
- "第十一册50-60m",
- "第十一册60-70m",
- "第十一册80m以上",
- ],
- "GCLSJDJ": ["0", "0", '0', '0',"0", "0", "0", "0", "0", "0",
- "0", "0", '0', '0',"0", "0", "0", "0", "0", "0",
- "0","0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2078:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['1-F4', '1-F4', '2-F4', '3-F4', '4-F4',
- '5-F4', '6-F4', '7-F4', '8-F4', '9-F4', '11-F4'],
- "GCLMC": ["第一册第1-6章", "第一册第8-14章", "第二册",
- "第三册", "第四册",
- "第五册", "第六册", "第七册", "第八册", "第九册",
- "第十一册", ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2079:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['1-F5', '1-F5', '2-F5', '3-F5', '4-F5',
- '5-F5', '6-F5', '7-F5', '8-F5', '9-F5', '11-F5'],
- "GCLMC": ["第一册第1-6章", "第一册第8-14章", "第二册",
- "第三册", "第四册",
- "第五册", "第六册", "第七册", "第八册", "第九册",
- "第十一册", ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2081:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3',
- '4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3','4-F3', '4-F3'],
- "GCLMC": ["9层或30m以内",
- "12层或40m以内",
- "15层或50m以内",
- "18层或60m以内",
- "21层或70m以内",
- "24层或80m以内",
- "27层或90m以内",
- "30层或100m以内",
- "33层或110m以内",
- "36层或120m以内",
- "40层或130m以内",
- "42层或140m以内",
- "45层或150m以内",
- "48层或160m以内",
- "51层或170m以内",
- "54层或180m以内",
- "57层或190m以内",
- "60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2082:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3',
- '5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3','5-F3', '5-F3'],
- "GCLMC": ["9层或30m以内",
- "12层或40m以内",
- "15层或50m以内",
- "18层或60m以内",
- "21层或70m以内",
- "24层或80m以内",
- "27层或90m以内",
- "30层或100m以内",
- "33层或110m以内",
- "36层或120m以内",
- "40层或130m以内",
- "42层或140m以内",
- "45层或150m以内",
- "48层或160m以内",
- "51层或170m以内",
- "54层或180m以内",
- "57层或190m以内",
- "60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2083:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3',
- '7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3','7-F3', '7-F3'],
- "GCLMC": ["9层或30m以内",
- "12层或40m以内",
- "15层或50m以内",
- "18层或60m以内",
- "21层或70m以内",
- "24层或80m以内",
- "27层或90m以内",
- "30层或100m以内",
- "33层或110m以内",
- "36层或120m以内",
- "40层或130m以内",
- "42层或140m以内",
- "45层或150m以内",
- "48层或160m以内",
- "51层或170m以内",
- "54层或180m以内",
- "57层或190m以内",
- "60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2084:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3',
- '9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3','9-F3', '9-F3'],
- "GCLMC": ["9层或30m以内",
- "12层或40m以内",
- "15层或50m以内",
- "18层或60m以内",
- "21层或70m以内",
- "24层或80m以内",
- "27层或90m以内",
- "30层或100m以内",
- "33层或110m以内",
- "36层或120m以内",
- "40层或130m以内",
- "42层或140m以内",
- "45层或150m以内",
- "48层或160m以内",
- "51层或170m以内",
- "54层或180m以内",
- "57层或190m以内",
- "60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2085:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项', '项', '项', '项', "项", "项", "项"],
- 'DEBH': ['10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3',
- '10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3','10-F3', '10-F3'],
- "GCLMC": ["9层或30m以内",
- "12层或40m以内",
- "15层或50m以内",
- "18层或60m以内",
- "21层或70m以内",
- "24层或80m以内",
- "27层或90m以内",
- "30层或100m以内",
- "33层或110m以内",
- "36层或120m以内",
- "40层或130m以内",
- "42层或140m以内",
- "45层或150m以内",
- "48层或160m以内",
- "51层或170m以内",
- "54层或180m以内",
- "57层或190m以内",
- "60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2086:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- '项', '项', '项', '项', '项', '项', '项', '项', "项", "项",
- "项", '项'],
- 'DEBH': ['11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- '11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3','11-F3', '11-F3',
- ],
- "GCLMC": [
- "(按通风空调工程)9层或30m以内",
- "(按通风空调工程)12层或40m以内",
- "(按通风空调工程)15层或50m以内",
- "(按通风空调工程)18层或60m以内",
- "(按通风空调工程)21层或70m以内",
- "(按通风空调工程)24层或80m以内",
- "(按通风空调工程)27层或90m以内",
- "(按通风空调工程)30层或100m以内",
- "(按通风空调工程)33层或110m以内",
- "(按通风空调工程)36层或120m以内",
- "(按通风空调工程)40层或130m以内",
- "(按通风空调工程)42层或140m以内",
- "(按通风空调工程)45层或150m以内",
- "(按通风空调工程)48层或160m以内",
- "(按通风空调工程)51层或170m以内",
- "(按通风空调工程)54层或180m以内",
- "(按通风空调工程)57层或190m以内",
- "(按通风空调工程)60层或200m以内",
- ############################
- "(按消防工程)9层或30m以内",
- "(按消防工程)12层或40m以内",
- "(按消防工程)15层或50m以内",
- "(按消防工程)18层或60m以内",
- "(按消防工程)21层或70m以内",
- "(按消防工程)24层或80m以内",
- "(按消防工程)27层或90m以内",
- "(按消防工程)30层或100m以内",
- "(按消防工程)33层或110m以内",
- "(按消防工程)36层或120m以内",
- "(按消防工程)40层或130m以内",
- "(按消防工程)42层或140m以内",
- "(按消防工程)45层或150m以内",
- "(按消防工程)48层或160m以内",
- "(按消防工程)51层或170m以内",
- "(按消防工程)54层或180m以内",
- "(按消防工程)57层或190m以内",
- "(按消防工程)60层或200m以内",
- ############################
- "(按给排水、采暖工程)9层或30m以内",
- "(按给排水、采暖工程)12层或40m以内",
- "(按给排水、采暖工程)15层或50m以内",
- "(按给排水、采暖工程)18层或60m以内",
- "(按给排水、采暖工程)21层或70m以内",
- "(按给排水、采暖工程)24层或80m以内",
- "(按给排水、采暖工程)27层或90m以内",
- "(按给排水、采暖工程)30层或100m以内",
- "(按给排水、采暖工程)33层或110m以内",
- "(按给排水、采暖工程)36层或120m以内",
- "(按给排水、采暖工程)40层或130m以内",
- "(按给排水、采暖工程)42层或140m以内",
- "(按给排水、采暖工程)45层或150m以内",
- "(按给排水、采暖工程)48层或160m以内",
- "(按给排水、采暖工程)51层或170m以内",
- "(按给排水、采暖工程)54层或180m以内",
- "(按给排水、采暖工程)57层或190m以内",
- "(按给排水、采暖工程)60层或200m以内",
- ############################
- "(按电气工程)9层或30m以内",
- "(按电气工程)12层或40m以内",
- "(按电气工程)15层或50m以内",
- "(按电气工程)18层或60m以内",
- "(按电气工程)21层或70m以内",
- "(按电气工程)24层或80m以内",
- "(按电气工程)27层或90m以内",
- "(按电气工程)30层或100m以内",
- "(按电气工程)33层或110m以内",
- "(按电气工程)36层或120m以内",
- "(按电气工程)40层或130m以内",
- "(按电气工程)42层或140m以内",
- "(按电气工程)45层或150m以内",
- "(按电气工程)48层或160m以内",
- "(按电气工程)51层或170m以内",
- "(按电气工程)54层或180m以内",
- "(按电气工程)57层或190m以内",
- "(按电气工程)60层或200m以内",
- ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
- "0", "0" ]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- if int(id) == 2087:
- data = {'DW': ['项', '项', '项', '项', '项', '项', '项', '项', "项"],
- 'DEBH': ['1-F6', '3-F6', '4-F6', '7-F6', '8-F6',
- '10-F6', '10-F6', '10-F6', '11-F6'],
- "GCLMC": ["第一册 站内工艺系统",
- "第三册 站内工艺系统", "第四册 站内工艺系统",
- "第七册", "第八册 站内工艺系统",
- "第十册供暖器具安装", "第十册空调水工程管道安装", "第十册空调水工程管道附件", "第十一册 站内工艺系统" ],
-
- "GCLSJDJ": ["0", "0", "0", "0", "0", "0", "0", "0", "0"]}
- df = pd.DataFrame(data)
- return df.to_json(force_ascii=False)
- def getDeXilie(value, id):
- ##print(type(id))
- if value == 10:
- shu = pd.read_csv("de/tj/JD_DingEShu.csv")
- elif value == 20:
- shu = pd.read_csv("de/sz/JD_DingEShu.csv")
- elif value == 30:
- shu = pd.read_csv("de/az/JD_DingEShu.csv")
- elif value == 40:
- shu = pd.read_csv("de/yl/JD_DingEShu.csv")
- elif value == 50:
- shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
- else:
- shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
- hit = shu[shu["ID"]==int(id)]
- ##print(hit)
- if len(hit) == 0:
- return []
- hit0 = hit.iloc[0]
- index = str(hit0['zjh'])
- ##print("index=" + index)
- if value == 10:
- gj = pd.read_csv("de/tj/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==int(index)]
- elif value == 20:
- gj = pd.read_csv("de/sz/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==(index)]
- elif value == 30:
- gj = pd.read_csv("de/az/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==(index)]
- elif value == 40:
- gj = pd.read_csv("de/yl/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==int(index)]
- elif value == 50:
- gj = pd.read_csv("de/xstj/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==int(index)]
- else:
- gj = pd.read_csv("de/xsaz/JD_DanWeiGJ.csv")
- filtered = gj[gj["YSDELBH"]==int(index)]
- 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)
- return filtered.to_json(force_ascii=False)
- def getPbxl(name, zhuanye):
- if name == "0":
- if zhuanye == 10:
- gj = pd.read_csv("de/tj/JD_PeiBi.csv")
- elif zhuanye == 20:
- gj = pd.read_csv("de/tj/JD_PeiBi.csv")
- elif zhuanye == 30:
- gj = pd.read_csv("de/tj/JD_PeiBi.csv")
- elif zhuanye == 40:
- gj = pd.read_csv("de/yl/JD_PeiBi.csv")
- elif zhuanye == 50:
- gj = pd.read_csv("de/xstj/JD_PeiBi.csv")
- elif zhuanye == 60:
- gj = pd.read_csv("de/xsaz/JD_PeiBi.csv")
- return gj.to_json(force_ascii=False)
- shu = pd.read_csv("de/tj/JD_PeiBiFLB.csv")
- hit = shu[shu["ID"]==int(name)]
- ##print(hit)
- if len(hit) == 0:
- return []
- hit0 = hit.iloc[0]
- index = str(hit0['pblbh'])
- index_list = index.split(";")
- gj = pd.read_csv("de/tj/JD_PeiBi.csv")
- filtered = gj[gj["PBBH"].str.startswith(tuple(index_list))]
- return filtered.to_json(force_ascii=False)
- def getJxxl(name, zhuanye):
- if name == "0":
- if zhuanye == 10:
- gj = pd.read_csv("de/tj/JD_JiXieK.csv")
- elif zhuanye == 20:
- gj = pd.read_csv("de/tj/JD_JiXieK.csv")
- elif zhuanye == 30:
- gj = pd.read_csv("de/tj/JD_JiXieK.csv")
- elif zhuanye == 40:
- gj = pd.read_csv("de/yl/JD_JiXieK.csv")
- elif zhuanye == 50:
- gj = pd.read_csv("de/xstj/JD_JiXieK.csv")
- elif zhuanye == 60:
- gj = pd.read_csv("de/xsaz/JD_JiXieK.csv")
- return gj.to_json(force_ascii=False)
- shu = pd.read_csv("de/tj/JD_JiXieFLB.csv")
- hit = shu[shu["ID"]==int(name)]
- ##print(hit)
- if len(hit) == 0:
- return []
- hit0 = hit.iloc[0]
- index = str(hit0['jxlbh'])
- index_list = index.split(";")
- gj = pd.read_csv("de/tj/JD_JiXieK.csv")
- filtered = gj[gj["jxbh"].str.startswith(tuple(index_list))]
- return filtered.to_json(force_ascii=False)
- def getClxl(name, zhuanye):
- if name == "0":
- if zhuanye == 10:
- gj = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- elif zhuanye == 20:
- gj = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- elif zhuanye == 30:
- gj = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- elif zhuanye == 40:
- gj = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- elif zhuanye == 50:
- gj = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- elif zhuanye == 60:
- gj = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
- return gj.to_json(force_ascii=False)
- if zhuanye == 10:
- shu = pd.read_csv("de/tj/JD_CaiLiaoFLB.csv")
- if zhuanye == 20:
- shu = pd.read_csv("de/sz/JD_CaiLiaoFLB.csv")
- if zhuanye == 30:
- shu = pd.read_csv("de/az/JD_CaiLiaoFLB.csv")
- if zhuanye == 40:
- shu = pd.read_csv("de/yl/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
- if zhuanye == 50:
- shu = pd.read_csv("de/xstj/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
- if zhuanye == 60:
- shu = pd.read_csv("de/xsaz/JD_CaiLiaoFLB.csv", dtype={'cllbh': str})
- hit = shu[shu["ID"]==int(name)]
- ##print(hit)
- if len(hit) == 0:
- return []
- hit0 = hit.iloc[0]
- index = str(hit0['cllbh'])
- index_list = index.split(";")
- if zhuanye == 10:
- gj = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- if zhuanye == 20:
- gj = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- if zhuanye == 30:
- gj = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- if zhuanye == 40:
- gj = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- if zhuanye == 50:
- gj = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- if zhuanye == 60:
- gj = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
- ##print(index_list)
- ##print(gj)
- filtered = gj[gj["CLBH"].str.startswith(tuple(index_list))]
- return filtered.to_json(force_ascii=False)
- def getSingleDeXilie(zhuanye, debh):
- print(debh)
- if zhuanye == 10:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
- if A1:
- return A1, A2, A3, A4, A5, A6, A7, 10
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_sz(debh)
- return A1, A2, A3, A4,A5, A6, A7, 20
- elif zhuanye == 20:##shizheng
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_sz(debh)
- if A1:
- return A1, A2, A3, A4, A5, A6, A7, 20
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
- if A1:
- return A1, A2, A3, A4, A5, A6, A7, 10
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
- return A1, A2, A3, A4, A5, A6, A7, 30
- elif zhuanye == 30:##anzhuang
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
- return A1, A2, A3, A4, A5, A6, A7, 30
- elif zhuanye == 40:##yuanlin
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_yl(debh)
- return A1, A2, A3, A4, A5, A6, A7, 40
- elif zhuanye == 50: ## xiushan tujian
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_xstj(debh)
- if A1:
- return A1, A2, A3, A4, A5, A6, A7, 50
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_tj(debh)
- return A1, A2, A3, A4,A5, A6, A7, 10
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_xsaz(debh)
- if A1:
- return A1, A2, A3, A4, A5, A6, A7, 60
- else:
- A1, A2, A3, A4, A5, A6, A7 = getSingleDeXilie_az(debh)
- return A1, A2, A3, A4,A5, A6, A7, 30
- def getSingleDeXilie_xsaz(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/xsaz/JD_DanWeiGJ.csv")
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = (filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/xsaz/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/xsaz/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/xsaz/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/xsaz/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item()
- rgde_["gr"] = gr.item()
- rgde_["gf"] = gf.item()
- rgde.append(rgde_)
- ##print(rgde)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/xsaz/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xsaz/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item()
- jxde_["sl"] = sl.item()
- jxde_["hj"] = hj.item()
- jxde.append(jxde_)
- ####cailiao
- clde = []
- cl = pd.read_csv("de/xsaz/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xsaz/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- detail_ = pd.read_csv("de/xsaz/JD_PeiBi.csv")
- filtered2_ = detail_[detail_["RcjID"]==rcjID]
- if len(filtered2) > 0 and len(filtered2_) == 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif len(filtered2) == 0 and len(filtered2_) > 0:
-
-
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif len(filtered2) > 0 and len(filtered2_) > 0:
- YSJG = filtered2.iloc[0]["Csdj"]
- YSJG_ = filtered2_.iloc[0]["Csdj"]
- if float(HJ) < 0.00001:
- if float(YSJG) < 0.00001:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif float(YSJG_) < 0.00001:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- else:
- ratio = float(YSJG) / (float(HJ) / float(SL))
- ratio_ = float(YSJG_) / (float(HJ) / float(SL))
- if abs(ratio - 1) < abs(ratio_ -1):
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- else:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- 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)
- 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
- def getSingleDeXilie_xstj(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- additional = []
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/xstj/JD_DanWeiGJ.csv")
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = (filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/xstj/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/xstj/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/xstj/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- bz_selected2 = bz_selected2.astype({'BH': str})
- additional = bz_selected2['BH'].tolist()
- 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']]
-
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/xstj/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item()
- rgde_["gr"] = gr.item()
- rgde_["gf"] = gf.item()
- if CLBH in additional:
- additional.remove(CLBH)
- rgde.append(rgde_)
- detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([1, '1'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- rgde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = 0
- rgde_["gf"] = 0
- rgde.append(rgde_)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/xstj/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xstj/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item()
- jxde_["sl"] = sl.item()
- jxde_["hj"] = hj.item()
- if jxbh in additional:
- additional.remove(jxbh)
- jxde.append(jxde_)
- detail = pd.read_csv("de/xstj/JD_JiXieK.csv")
- added = detail[detail['jxbh'].isin(additional)]
- for _, entry in added.iterrows():
- jxde_ = {}
- jxbh = entry["jxbh"]
- jxmc = entry["jxmc"]
- DW = entry["DW"]
- tbdj = entry["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = 0
- jxde_["hj"] = 0
- jxde.append(jxde_)
- ####cailiao
- clde = []
- cl = pd.read_csv("de/xstj/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- detail_ = pd.read_csv("de/xstj/JD_PeiBi.csv")
- filtered2_ = detail_[detail_["RcjID"]==rcjID]
- if len(filtered2) > 0 and len(filtered2_) == 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif len(filtered2) == 0 and len(filtered2_) > 0:
-
-
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif len(filtered2) > 0 and len(filtered2_) > 0:
- YSJG = filtered2.iloc[0]["Csdj"]
- YSJG_ = filtered2_.iloc[0]["Csdj"]
- if float(HJ) < 0.00001:
- if float(YSJG) < 0.00001:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- elif float(YSJG_) < 0.00001:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- else:
-
- ratio = float(YSJG) / (float(HJ) / float(SL))
- ratio_ = float(YSJG_) / (float(HJ) / float(SL))
- if abs(ratio - 1) < abs(ratio_ -1):
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- else:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- if 'CLBH' in clde_ and clde_['CLBH'] in additional:
- additional.remove(clde_['CLBH'])
- detail = pd.read_csv("de/xstj/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([2, '2'])]
- added = detail[detail['CLBH'].isin(additional)]
- added = added.drop_duplicates(subset=['CLBH'])
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- detail = pd.read_csv("de/xstj/JD_PeiBi.csv")
- added = detail[detail['PBBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["PBBH"]
- CLMC = entry["PBMC"]
- JLDW = entry["DW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- 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)
- 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
- def getSingleDeXilie_yl(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- additional = []
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/yl/JD_DanWeiGJ.csv")
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = (filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/yl/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/yl/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/yl/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- bz_selected2 = bz_selected2.astype({'BH': str})
- additional = bz_selected2['BH'].tolist()
- 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']]
-
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/yl/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item()
- rgde_["gr"] = gr.item()
- rgde_["gf"] = gf.item()
- if CLBH in additional:
- additional.remove(CLBH)
- rgde.append(rgde_)
- detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([1, '1'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- rgde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = 0
- rgde_["gf"] = 0
- rgde.append(rgde_)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/yl/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/yl/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item()
- jxde_["sl"] = sl.item()
- jxde_["hj"] = hj.item()
- if jxbh in additional:
- additional.remove(jxbh)
- jxde.append(jxde_)
- detail = pd.read_csv("de/yl/JD_JiXieK.csv")
- added = detail[detail['jxbh'].isin(additional)]
- for _, entry in added.iterrows():
- jxde_ = {}
- jxbh = entry["jxbh"]
- jxmc = entry["jxmc"]
- DW = entry["DW"]
- tbdj = entry["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = 0
- jxde_["hj"] = 0
- jxde.append(jxde_)
- ####cailiao
- clde = []
- cl = pd.read_csv("de/yl/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- else:
- detail = pd.read_csv("de/yl/JD_PeiBi.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["PBBH"]
- CLMC = filtered2.iloc[0]["PBMC"]
- JLDW = filtered2.iloc[0]["DW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH.item()
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item()
- clde_["SL"] = SL.item()
- clde_["HJ"] = HJ.item()
- clde.append(clde_)
- if 'CLBH' in clde_ and clde_['CLBH'] in additional:
- additional.remove(clde_['CLBH'])
- detail = pd.read_csv("de/yl/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([2, '2'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- detail = pd.read_csv("de/yl/JD_PeiBi.csv")
- added = detail[detail['PBBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["PBBH"]
- CLMC = entry["PBMC"]
- JLDW = entry["DW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- 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)
- 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
- def getSingleDeXilie_az(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- additional = []
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/az/JD_DanWeiGJ.csv")
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = (filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/az/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/az/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/az/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- bz_selected2 = bz_selected2.astype({'BH': str})
- additional = bz_selected2['BH'].tolist()
- 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']]
-
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/az/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = gr.item() if type(gr) == float64 else gr
- rgde_["gf"] = gf.item() if type(gf) == float64 else gf
- if CLBH in additional:
- additional.remove(CLBH)
- rgde.append(rgde_)
- detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([1, '1'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- rgde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = 0
- rgde_["gf"] = 0
- rgde.append(rgde_)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/az/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/az/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = sl.item() if type(sl) == float64 else sl
- jxde_["hj"] = hj.item() if type(hj) == float64 else hj
- if jxbh in additional:
- additional.remove(jxbh)
- jxde.append(jxde_)
- detail = pd.read_csv("de/az/JD_JiXieK.csv")
- added = detail[detail['jxbh'].isin(additional)]
- for _, entry in added.iterrows():
- jxde_ = {}
- jxbh = entry["jxbh"]
- jxmc = entry["jxmc"]
- DW = entry["DW"]
- tbdj = entry["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = 0
- jxde_["hj"] = 0
- jxde.append(jxde_)
- ####cailiao
- clde = []
- cl = pd.read_csv("de/az/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- if np.isnan(clde_['YSJG']):
- clde_['YSJG']=0
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- else:
- detail = pd.read_csv("de/az/JD_PeiBi.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["PBBH"]
- CLMC = filtered2.iloc[0]["PBMC"]
- JLDW = filtered2.iloc[0]["DW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- if np.isnan(clde_['YSJG']):
- clde_['YSJG']=0
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- if 'CLBH' in clde_ and clde_['CLBH'] in additional:
- additional.remove(clde_['CLBH'])
- detail = pd.read_csv("de/az/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([2, '2'])]
- added = detail[detail['CLBH'].isin(additional)]
- added = added.drop_duplicates(subset=['CLBH'])
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- if np.isnan(clde_['YSJG']):
- clde_['YSJG']=0
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- detail = pd.read_csv("de/az/JD_PeiBi.csv")
- added = detail[detail['PBBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["PBBH"]
- CLMC = entry["PBMC"]
- JLDW = entry["DW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- if np.isnan(clde_['YSJG']):
- clde_['YSJG']=0
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
-
- 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)
- 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
- def getSingleDeXilie_sz(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- additional = []
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/sz/JD_DanWeiGJ.csv")
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = (filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/sz/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/sz/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/sz/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- bz_selected2 = bz_selected2.astype({'BH': str})
- additional = bz_selected2['BH'].tolist()
- 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']]
-
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/sz/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = gr.item() if type(gr) == float64 else gr
- rgde_["gf"] = gf.item() if type(gf) == float64 else gf
- if CLBH in additional:
- additional.remove(CLBH)
- rgde.append(rgde_)
- detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([1, '1'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- rgde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = 0
- rgde_["gf"] = 0
- rgde.append(rgde_)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/sz/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/sz/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = sl.item() if type(sl) == float64 else sl
- jxde_["hj"] = hj.item() if type(hj) == float64 else hj
- if jxbh in additional:
- additional.remove(jxbh)
- jxde.append(jxde_)
- detail = pd.read_csv("de/sz/JD_JiXieK.csv")
- added = detail[detail['jxbh'].isin(additional)]
- for _, entry in added.iterrows():
- jxde_ = {}
- jxbh = entry["jxbh"]
- jxmc = entry["jxmc"]
- DW = entry["DW"]
- tbdj = entry["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = 0
- jxde_["hj"] = 0
- jxde.append(jxde_)
- ####cailiao
- clde = []
- cl = pd.read_csv("de/sz/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- detail_ = pd.read_csv("de/sz/JD_PeiBi.csv")
- filtered2_ = detail_[detail_["RcjID"]==rcjID]
- if len(filtered2) > 0 and len(filtered2_) == 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif len(filtered2) == 0 and len(filtered2_) > 0:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif len(filtered2) > 0 and len(filtered2_) > 0:
- YSJG = filtered2.iloc[0]["Csdj"]
- YSJG_ = filtered2_.iloc[0]["Csdj"]
- ##print(debh)
- if float(HJ) < 0.00001:
- if float(YSJG) < 0.00001:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif float(YSJG_) < 0.00001:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- else:
- ratio = float(YSJG) / (float(HJ) / float(SL))
- ratio_ = float(YSJG_) / (float(HJ) / float(SL))
- if abs(ratio - 1) < abs(ratio_ - 1):
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- else:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- if 'CLBH' in clde_ and clde_['CLBH'] in additional:
- additional.remove(clde_['CLBH'])
- detail = pd.read_csv("de/sz/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([2, '2'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- detail = pd.read_csv("de/sz/JD_PeiBi.csv")
- added = detail[detail['PBBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["PBBH"]
- CLMC = entry["PBMC"]
- JLDW = entry["DW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- 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)
- 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
-
-
- def getSingleDeXilie_tj(debh):
- id = None
- bz_selected = []
- bz_selected2 = []
- additional = []
-
- if "附注" in debh:
- position = debh.find("附注")
- debh = debh[:position]
- if "*" in debh:
- position = debh.find("*")
- debh = debh[:position]
- if debh.endswith("换"):
- debh = debh[:-1]
- if "[" in debh:
- position = debh.find("[")
- debh = debh[:position-1]
- gj = pd.read_csv("de/tj/JD_DanWeiGJ.csv")
- print(debh)
- filtered = gj[gj["DEBH"]==debh]
- ##print(filtered)
- if len(filtered) > 0:
- index = int(filtered.iloc[0]["YSDELBH"])
- shu = pd.read_csv("de/tj/JD_DingEShu.csv")
- hit = shu[shu["zjh"]==index]
- if len(hit) > 0:
- id = hit.iloc[0]["ID"]
- beizhu = str(filtered.iloc[0]["BZBH"])
- if 'nan' in beizhu:
- pass
- else:
- beizhus = beizhu.split(";")
- ##print(beizhus)
- bzfile = pd.read_csv("de/tj/JD_BeiZhuZK.csv")
- bzfile2 = pd.read_csv("de/tj/JD_BeiZhuFK.csv", dtype=str)
- bz_selected = bzfile[bzfile["BZBH"].isin(beizhus)]
- bz_selected2 = bzfile2[bzfile2["BZBH"].isin(beizhus)]
- bz_selected2 = bz_selected2.astype({'BH': str})
- additional = bz_selected2['BH'].tolist()
- 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']]
- else:
- return None, None, None, None, None, None, None
- ####rengong
- rgde = []
- rg = pd.read_csv("de/tj/JD_GuJiaRG.csv")
- filtered1 = rg[rg["DEBH"]==debh]
- for i in range(len(filtered1)):
- rgde_ = {}
- gr = filtered1.iloc[i]["RGR"]##gongri
- gf = filtered1.iloc[i]["RGF"]##gongfei
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = gr.item() if type(gr) == float64 else gr
- rgde_["gf"] = gf.item() if type(gf) == float64 else gf
- if CLBH in additional:
- additional.remove(CLBH)
- rgde.append(rgde_)
- detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([1, '1'])]
- added = detail[detail['CLBH'].isin(additional)]
- for _, entry in added.iterrows():
- rgde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- rgde_["CLBH"] = CLBH
- rgde_["CLMC"] = CLMC
- rgde_["JLDW"] = JLDW
- rgde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- rgde_["gr"] = 0
- rgde_["gf"] = 0
- rgde.append(rgde_)
- ####jixie
- jxde = []
- jx = pd.read_csv("de/tj/JD_GuJiaJX.csv")
- filtered1 = jx[jx["DEBH"]==debh]
- for i in range(len(filtered1)):
- jxde_ = {}
- sl = filtered1.iloc[i]["SL"]##shuliang
- hj = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/tj/JD_JiXieK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- if len(filtered2) > 0:
- jxbh = filtered2.iloc[0]["jxbh"]
- jxmc = filtered2.iloc[0]["jxmc"]
- DW = filtered2.iloc[0]["DW"]
- tbdj = filtered2.iloc[0]["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = sl.item() if type(sl) == float64 else sl
- jxde_["hj"] = hj.item() if type(hj) == float64 else hj
- if jxbh in additional:
- additional.remove(jxbh)
- jxde.append(jxde_)
- detail = pd.read_csv("de/tj/JD_JiXieK.csv")
- added = detail[detail['jxbh'].isin(additional)]
- for _, entry in added.iterrows():
- jxde_ = {}
- jxbh = entry["jxbh"]
- jxmc = entry["jxmc"]
- DW = entry["DW"]
- tbdj = entry["Csdj"]
- jxde_["jxbh"] = jxbh
- jxde_["jxmc"] = jxmc
- jxde_["DW"] = DW
- jxde_["tbdj"] = tbdj.item() if type(tbdj) == float64 else tbdj
- jxde_["sl"] = 0
- jxde_["hj"] = 0
- jxde.append(jxde_)
- clde = []
- cl = pd.read_csv("de/tj/JD_GuJiaCL.csv")
- filtered1 = cl[cl["DEBH"]==debh]
- for i in range(len(filtered1)):
- clde_ = {}
- SL = filtered1.iloc[i]["SL"]##shuliang
- HJ = filtered1.iloc[i]["HJ"]##hejia
- rcjID = filtered1.iloc[i]["RcjID"]
- detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- filtered2 = detail[detail["RcjID"]==rcjID]
- detail_ = pd.read_csv("de/tj/JD_PeiBi.csv")
- filtered2_ = detail_[detail_["RcjID"]==rcjID]
- if len(filtered2) > 0 and len(filtered2_) == 0:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif len(filtered2) == 0 and len(filtered2_) > 0:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif len(filtered2) > 0 and len(filtered2_) > 0:
- YSJG = filtered2.iloc[0]["Csdj"]
- YSJG_ = filtered2_.iloc[0]["Csdj"]
- if float(HJ) < 0.00001:
- if float(YSJG) < 0.00001:
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- elif float(YSJG_) < 0.00001:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- else:
- ratio = float(YSJG) / (float(HJ) / float(SL))
- ratio_ = float(YSJG_) / (float(HJ) / float(SL))
- if abs(ratio - 1) < abs(ratio_ - 1):
- CLBH = filtered2.iloc[0]["CLBH"]
- CLMC = filtered2.iloc[0]["CLMC"]
- JLDW = filtered2.iloc[0]["JLDW"]
- YSJG = filtered2.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- else:
- CLBH = filtered2_.iloc[0]["PBBH"]
- CLMC = filtered2_.iloc[0]["PBMC"]
- JLDW = filtered2_.iloc[0]["DW"]
- YSJG = filtered2_.iloc[0]["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = SL.item() if type(SL) == float64 else SL
- clde_["HJ"] = HJ.item() if type(HJ) == float64 else HJ
- clde.append(clde_)
- if 'CLBH' in clde_ and clde_['CLBH'] in additional:
- additional.remove(clde_['CLBH'])
-
- detail = pd.read_csv("de/tj/JD_CaiLiaoK.csv")
- detail = detail[detail['RcjLb'].isin([2, '2'])]
- added = detail[detail['CLBH'].isin(additional)]
- added = added.drop_duplicates(subset=['CLBH'])
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["CLBH"]
- CLMC = entry["CLMC"]
- JLDW = entry["JLDW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
-
- clde.append(clde_)
- detail = pd.read_csv("de/tj/JD_PeiBi.csv")
- added = detail[detail['PBBH'].isin(additional)]
- for _, entry in added.iterrows():
- clde_ = {}
- CLBH = entry["PBBH"]
- CLMC = entry["PBMC"]
- JLDW = entry["DW"]
- YSJG = entry["Csdj"]
- clde_["CLBH"] = CLBH
- clde_["CLMC"] = CLMC
- clde_["JLDW"] = JLDW
- clde_["YSJG"] = YSJG.item() if type(YSJG) == float64 else YSJG
- clde_["SL"] = 0
- clde_["HJ"] = 0
- clde.append(clde_)
- 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)
- 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
- def getDwgc(root, id, Zylb):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- id = id + "Zylb" + Zylb
- for child in item:
- if child.tag == "Fywj":
- result.append({"id": id + "bao jia hui zong", "label": "报价汇总表"})
- elif child.tag == "Gfsj":
- result.append({"id": id + "gui fei shui jin", "label": "规费税金"})
- elif child.tag == "Qdxm":
- result.append({"id": id + "qing dan xiang mu", "label": "清单项目"})
- elif child.tag == "Csxm":
- result.append({"id": id + "cuo shi xiang mu", "label": "措施项目"})
- elif child.tag == "Qtxm":
- result.append({"id": id +"qi ta xiang mu", "label": "其他项目"})
- elif child.tag == "Zlje":
- result.append({"id": id +"zan lie jin e", "label": "暂列金额"})
- elif child.tag == "Clzg":
- result.append({"id": id +"cai liao zan gu jia", "label": "材料暂估价"})
- elif child.tag == "Zygczg":
- result.append({"id": id + "zhuan ye gong cheng zan gu jia", "label": "专业工程暂估价"})
- elif child.tag == "Jrg":
- result.append({"id": id + "ji ri gong", "label": "计日工"})
- elif child.tag == "Zcbfwf":
- result.append({"id": id + "zong cheng bao fu wu fei", "label": "总承包服务费"})
- elif child.tag == "Zjxmjdkzffj":
- result.append({"id": id + "zong jia xiang mu jin du kuan zhi fu fen jie", "label": "总价项目进度款支付分解"})
- elif child.tag == "Fbrgycl":
- result.append({"id": id + "fa bao ren gong ying cai liao", "label": "发包人供应材料"})
- elif child.tag == "Cbrgycl":
- result.append({"id": id + "cheng bao ren gong ying cai liao", "label": "承包人供应材料"})
- elif child.tag == "Rcjhz":
- result.append({"id": id + "ren cai ji hui zong", "label": "人材机汇总"})
- else:
- print(child.tag)
- print("WARNING####################################################################")
- return result
- def getDjcs(root, id):
- result = []
- #result.append(["ming cheng", "jin e", "zan gu jia", "anquan wenming fei", "guifei"])
- item = None
- for child in root:
-
- if child.tag == "Dxgcxx":
- for child1 in child:
- Dwgcbh = child1.attrib["Dwgcbh"]
- if Dwgcbh == id:
- item = child1
- break
- ##result.append([child.attrib["Dxgcmc"], child.attrib["Je"], child.attrib["Zgj"], child.attrib["Aqwmf"], child.attrib["Gf"]])
- Fywj = None
- for child in item:
- if child.tag == 'Csxm':
- Fywj= child
- break
- Djcs_parent = None
- for child in Fywj:
- if child.tag == 'DjCs':
- Djcs_parent = child
- break
-
- for child in Djcs_parent:
- ##child is mx {
- result.append({
- "序号": child.attrib["Xh"], "清单编码": child.attrib["Bm"], "名称" : child.attrib["Mc"],
- "项目特征" : child.attrib["Xmtz"],
- "计算规则" : child.attrib["Jsgz"], "单位" : child.attrib["Dw"], "数量" : child.attrib["Sl"],
- "综合单价" : child.attrib["Zhdj"], "合价" : child.attrib["Zhhj"], "人工费" : child.attrib["Rgf"],
- "主材费" : child.attrib["Zcf"],
- "设备费" : child.attrib["Sbf"], "辅材费" : child.attrib["Fcf"], "材料费" : child.attrib["Clf"],
- "机械费" : child.attrib["Jxf"], "管理费" : child.attrib["Glf"], "利润" : child.attrib["Lr"],
- "暂估价" : child.attrib["Zgj"], "综合人工工日" : child.attrib["Zgr"] })
- __children = []
- zj_parent = None
- for grandchild in child:
- if grandchild.tag == "Csxdezj":
- zj_parent = grandchild
-
- if zj_parent:
- for entry in zj_parent:
- key = str(uuid.uuid4())
- entry.set("key", key)
- __children.append({
- "key": key,
- "序号": None, "清单编码": entry.attrib["Debm"], "名称" : entry.attrib["Mc"],
- "项目特征" : None,
- "计算规则" : None, "单位" : entry.attrib["Dw"], "数量" : entry.attrib["DwQdSl"],
- "综合单价" : entry.attrib["Dj"], "合价" : entry.attrib["Hj"], "人工费" : entry.attrib["Rgf"],
- "主材费" : entry.attrib["Zcf"],
- "设备费" : entry.attrib["Sbf"], "辅材费" : entry.attrib["Fcf"], "材料费" : entry.attrib["Clf"],
- "机械费" : entry.attrib["Jxf"], "管理费" : entry.attrib["Glf"], "利润" : entry.attrib["Lr"],
- "暂估价" : None, "综合人工工日" : None })
- if len(__children) > 0:
- result[-1]["__children"] = __children
- return result
|