|
|
@@ -609,8 +609,17 @@ def dfs3(items):
|
|
|
result.append(r)
|
|
|
return result
|
|
|
|
|
|
+def roundstr(input):
|
|
|
+ a = float(input)
|
|
|
+ b = round(a, 2)
|
|
|
+ return str(b)
|
|
|
|
|
|
|
|
|
+def roundstr4(input):
|
|
|
+ a = float(input)
|
|
|
+ b = round(a, 4)
|
|
|
+ return str(b)
|
|
|
+
|
|
|
async def build(client, root, id):
|
|
|
db = client["baojia"]
|
|
|
collection = db["jingjibiao"]
|
|
|
@@ -623,10 +632,10 @@ async def build(client, root, id):
|
|
|
|
|
|
TouBiaoXx = ET.SubElement(root, 'TouBiaoXx')
|
|
|
##{'Tbzj' : '', 'Zgj' : '', 'Aqwmf' : '', 'Gf' : '' }
|
|
|
- TouBiaoXx.set('Tbzj', str(document['TouBiaoXx']['Tbzj']))
|
|
|
- TouBiaoXx.set('Zgj', str(document['TouBiaoXx']['Zgj']))
|
|
|
- TouBiaoXx.set('Aqwmf', str(document['TouBiaoXx']['Aqwmf']))
|
|
|
- TouBiaoXx.set('Gf', str(document['TouBiaoXx']['Gf']))
|
|
|
+ TouBiaoXx.set('Tbzj', roundstr(document['TouBiaoXx']['Tbzj']))
|
|
|
+ TouBiaoXx.set('Zgj', roundstr(document['TouBiaoXx']['Zgj']))
|
|
|
+ TouBiaoXx.set('Aqwmf', roundstr(document['TouBiaoXx']['Aqwmf']))
|
|
|
+ TouBiaoXx.set('Gf', roundstr(document['TouBiaoXx']['Gf']))
|
|
|
if 'Zbr' in document['TouBiaoXx']:
|
|
|
TouBiaoXx.set('Zbr', str(document['TouBiaoXx']['Zbr']))
|
|
|
if 'Tbr' in document['TouBiaoXx']:
|
|
|
@@ -641,10 +650,10 @@ async def build(client, root, id):
|
|
|
Dxgcxx = ET.SubElement(root, 'Dxgcxx')
|
|
|
Dxgcxx.set('Dxgcbh', str(item['Dxgcbh']))
|
|
|
Dxgcxx.set('Dxgcmc', str(item['Dxgcmc']))
|
|
|
- Dxgcxx.set('Je', str(item['Je']))
|
|
|
- Dxgcxx.set('Zgj', str(item['Zgj']))
|
|
|
- Dxgcxx.set('Aqwmf', str(item['Aqwmf']))
|
|
|
- Dxgcxx.set('Gf', str(item['Gf']))
|
|
|
+ Dxgcxx.set('Je', roundstr(item['Je']))
|
|
|
+ Dxgcxx.set('Zgj', roundstr(item['Zgj']))
|
|
|
+ Dxgcxx.set('Aqwmf', roundstr(item['Aqwmf']))
|
|
|
+ Dxgcxx.set('Gf', roundstr(item['Gf']))
|
|
|
for entry in item['Dwgc']:
|
|
|
Dwgcxx = ET.SubElement(Dxgcxx, 'Dwgcxx')
|
|
|
Dwgcxx.set('Dwgcbh', str(entry['Dwgcbh']))
|
|
|
@@ -673,8 +682,8 @@ async def build(client, root, id):
|
|
|
FywjMx = ET.SubElement(Fywj, 'FywjMx')
|
|
|
FywjMx.set('Xh', str(bjhz_[0]))
|
|
|
FywjMx.set('Mc', str(bjhz_[1]))
|
|
|
- FywjMx.set('Je', str(bjhz_[2]))
|
|
|
- FywjMx.set('Zgj', str(bjhz_[3]))
|
|
|
+ FywjMx.set('Je', roundstr(bjhz_[2]))
|
|
|
+ FywjMx.set('Zgj', roundstr(bjhz_[3]))
|
|
|
FywjMx.set('Fyxlb', str(bjhz_[4]))
|
|
|
########################################Gfsj##########################
|
|
|
Gfsj = ET.SubElement(Dwgcxx, 'Gfsj')
|
|
|
@@ -682,16 +691,17 @@ async def build(client, root, id):
|
|
|
GfsjMx = ET.SubElement(Gfsj, 'GfsjMx')
|
|
|
GfsjMx.set('Xh', str(gfsj_[0]))
|
|
|
GfsjMx.set('Mc', str(gfsj_[1]))
|
|
|
- GfsjMx.set('Qfjs', str(gfsj_[2]))
|
|
|
+ GfsjMx.set('Qfjs', roundstr(gfsj_[2]))
|
|
|
GfsjMx.set('Jsjc', str(gfsj_[3]))
|
|
|
GfsjMx.set('Fl', str(gfsj_[4]))
|
|
|
- GfsjMx.set('Je', str(gfsj_[5]))
|
|
|
+ GfsjMx.set('Je', roundstr(gfsj_[5]))
|
|
|
GfsjMx.set('Fyxlb', str(gfsj_[6]))
|
|
|
+ ########################################Qdxm##########################
|
|
|
Qdxm = ET.SubElement(Dwgcxx, 'Qdxm')
|
|
|
if 'Default' in qdbt:
|
|
|
collection = db["qdxm"]
|
|
|
before_sort = []
|
|
|
- async for post in collection.find({"biao_id": id, "Dwgcbh": entry['Dwgcbh']}):
|
|
|
+ async for post in collection.find({"biao_id": id, "Dwgcbh": entry['Dwgcbh'], 'bt': 'Default'}):
|
|
|
before_sort.append(post)
|
|
|
after_sort = sorted(before_sort, key=lambda x: int(x['序号']))
|
|
|
for qdmx in after_sort:
|
|
|
@@ -702,19 +712,19 @@ async def build(client, root, id):
|
|
|
Qdmx.set('Xmtz', str(qdmx['项目特征']))
|
|
|
Qdmx.set('Jsgz', str(qdmx['计算规则']))
|
|
|
Qdmx.set('Dw', str(qdmx['单位']))
|
|
|
- Qdmx.set('Sl', str(qdmx['数量']))
|
|
|
- Qdmx.set('Zhdj', str(qdmx['综合单价']))
|
|
|
- Qdmx.set('Zhhj', str(qdmx['合价']))
|
|
|
- Qdmx.set('Rgf', str(qdmx['人工费']))
|
|
|
- Qdmx.set('Zcf', str(qdmx['主材费']))
|
|
|
- Qdmx.set('Sbf', str(qdmx['设备费']))
|
|
|
- Qdmx.set('Fcf', str(qdmx['辅材费']))
|
|
|
- Qdmx.set('Clf', str(qdmx['材料费']))
|
|
|
- Qdmx.set('Jxf', str(qdmx['机械费']))
|
|
|
- Qdmx.set('Glf', str(qdmx['管理费']))
|
|
|
- Qdmx.set('Lr', str(qdmx['利润']))
|
|
|
- Qdmx.set('Zgj', str(qdmx['暂估价']))
|
|
|
- Qdmx.set('Zgr', str(qdmx['综合人工工日']))
|
|
|
+ Qdmx.set('Sl', roundstr4(qdmx['数量']))
|
|
|
+ Qdmx.set('Zhdj', roundstr4(qdmx['综合单价']))
|
|
|
+ Qdmx.set('Zhhj', roundstr4(qdmx['合价']))
|
|
|
+ Qdmx.set('Rgf', roundstr4(qdmx['人工费']))
|
|
|
+ Qdmx.set('Zcf', roundstr4(qdmx['主材费']))
|
|
|
+ Qdmx.set('Sbf', roundstr4(qdmx['设备费']))
|
|
|
+ Qdmx.set('Fcf', roundstr4(qdmx['辅材费']))
|
|
|
+ Qdmx.set('Clf', roundstr4(qdmx['材料费']))
|
|
|
+ Qdmx.set('Jxf', roundstr4(qdmx['机械费']))
|
|
|
+ Qdmx.set('Glf', roundstr4(qdmx['管理费']))
|
|
|
+ Qdmx.set('Lr', roundstr4(qdmx['利润']))
|
|
|
+ Qdmx.set('Zgj', roundstr4(qdmx['暂估价']))
|
|
|
+ Qdmx.set('Zgr', roundstr4(qdmx['综合人工工日']))
|
|
|
Qdmx.set('Bz', str(qdmx['备注']))
|
|
|
Qdxdezj = ET.SubElement(Qdmx, 'Qdxdezj')
|
|
|
if '__children' in qdmx:
|
|
|
@@ -723,17 +733,17 @@ async def build(client, root, id):
|
|
|
QdxdezjMx.set('Debm', str(child['清单编码']))
|
|
|
QdxdezjMx.set('Mc', str(child['名称']))
|
|
|
QdxdezjMx.set('Dw', str(child['单位']))
|
|
|
- QdxdezjMx.set('DwQdSl', str(child['数量']))
|
|
|
- QdxdezjMx.set('Dj', str(child['综合单价']))
|
|
|
- QdxdezjMx.set('Hj', str(child['合价']))
|
|
|
- QdxdezjMx.set('Rgf', str(child['人工费']))
|
|
|
- QdxdezjMx.set('Zcf', str(child['主材费']))
|
|
|
- QdxdezjMx.set('Sbf', str(child['设备费']))
|
|
|
- QdxdezjMx.set('Fcf', str(child['辅材费']))
|
|
|
- QdxdezjMx.set('Clf', str(child['材料费']))
|
|
|
- QdxdezjMx.set('Jxf', str(child['机械费']))
|
|
|
- QdxdezjMx.set('Glf', str(child['管理费']))
|
|
|
- QdxdezjMx.set('Lr', str(child['利润']))
|
|
|
+ QdxdezjMx.set('DwQdSl', roundstr4(child['数量']))
|
|
|
+ QdxdezjMx.set('Dj', roundstr4(child['综合单价']))
|
|
|
+ QdxdezjMx.set('Hj', roundstr4(child['合价']))
|
|
|
+ QdxdezjMx.set('Rgf', roundstr4(child['人工费']))
|
|
|
+ QdxdezjMx.set('Zcf', roundstr4(child['主材费']))
|
|
|
+ QdxdezjMx.set('Sbf', roundstr4(child['设备费']))
|
|
|
+ QdxdezjMx.set('Fcf', roundstr4(child['辅材费']))
|
|
|
+ QdxdezjMx.set('Clf', roundstr4(child['材料费']))
|
|
|
+ QdxdezjMx.set('Jxf', roundstr4(child['机械费']))
|
|
|
+ QdxdezjMx.set('Glf', roundstr4(child['管理费']))
|
|
|
+ QdxdezjMx.set('Lr', roundstr4(child['利润']))
|
|
|
Qdxdercjhl = ET.SubElement(QdxdezjMx, 'Qdxdercjhl')
|
|
|
for i in range(len(child['dercj'])):
|
|
|
if i == 0:
|
|
|
@@ -741,8 +751,8 @@ async def build(client, root, id):
|
|
|
else:
|
|
|
QdxdercjhlMx = ET.SubElement(Qdxdercjhl, 'QdxdercjhlMx')
|
|
|
QdxdercjhlMx.set('RcjId', util.indexrcj(rcjhz, child['dercj'][i]))
|
|
|
- QdxdercjhlMx.set('Rcjhl', str(child['dercj'][i][10]))
|
|
|
- QdxdercjhlMx.set('Rcjhj', str(child['dercj'][i][11]))
|
|
|
+ QdxdercjhlMx.set('Rcjhl', roundstr4(child['dercj'][i][10]))
|
|
|
+ QdxdercjhlMx.set('Rcjhj', roundstr4(child['dercj'][i][11]))
|
|
|
Qdxrcjhl = ET.SubElement(Qdmx, 'Qdxrcjhl')
|
|
|
for i in range(len(qdmx['rcj'])):
|
|
|
if i == 0:
|
|
|
@@ -751,89 +761,89 @@ async def build(client, root, id):
|
|
|
QdxrcjhlMx = ET.SubElement(Qdxrcjhl, 'QdxrcjhlMx')
|
|
|
QdxrcjhlMx.set('RcjId', util.indexrcj(rcjhz, qdmx['rcj'][i]))
|
|
|
##str(djcs['rcj'][i][0]))
|
|
|
- QdxrcjhlMx.set('Rcjhl', str(qdmx['rcj'][i][10]))
|
|
|
- QdxrcjhlMx.set('Rcjhj', str(qdmx['rcj'][i][11]))
|
|
|
+ QdxrcjhlMx.set('Rcjhl', roundstr4(qdmx['rcj'][i][10]))
|
|
|
+ QdxrcjhlMx.set('Rcjhj', roundstr4(qdmx['rcj'][i][11]))
|
|
|
+ QdxrcjhlMx.set('Zgjbz', str(qdmx['rcj'][i][12]))
|
|
|
+ QdxrcjhlMx.set('Zyclbz', str(qdmx['rcj'][i][13]))
|
|
|
+ QdxrcjhlMx.set('Zcbz', str(qdmx['rcj'][i][14]))
|
|
|
+ QdxrcjhlMx.set('Sbbz', str(qdmx['rcj'][i][15]))
|
|
|
+
|
|
|
+ qdbt_addition = Dwgc['qdbt_addition']
|
|
|
+ for bt in qdbt_addition:
|
|
|
+ QdBt = ET.SubElement(Qdxm, 'QdBt')
|
|
|
+ QdBt.set('Xh', bt['Xh'])
|
|
|
+ QdBt.set('Mc', bt['Mc'])
|
|
|
+ QdBt.set('Je', roundstr(bt['Je']))
|
|
|
+ QdBt.set('Zgj', roundstr(bt['Zgj']))
|
|
|
+ QdBt.set('Bz', bt['Bz'])
|
|
|
+ collection = db["qdxm"]
|
|
|
+ before_sort = []
|
|
|
+ async for post in collection.find({"biao_id": id, "Dwgcbh": entry['Dwgcbh'], 'bt': bt['Mc']}):
|
|
|
+ before_sort.append(post)
|
|
|
+ after_sort = sorted(before_sort, key=lambda x: int(x['序号']))
|
|
|
+ for qdmx in after_sort:
|
|
|
+ Qdmx = ET.SubElement(QdBt, 'Qdmx')
|
|
|
+ Qdmx.set('Xh', str(qdmx['序号']))
|
|
|
+ Qdmx.set('Qdbm', str(qdmx['清单编码']))
|
|
|
+ Qdmx.set('Mc', str(qdmx['名称']))
|
|
|
+ Qdmx.set('Xmtz', str(qdmx['项目特征']))
|
|
|
+ Qdmx.set('Jsgz', str(qdmx['计算规则']))
|
|
|
+ Qdmx.set('Dw', str(qdmx['单位']))
|
|
|
+ Qdmx.set('Sl', roundstr4(qdmx['数量']))
|
|
|
+ Qdmx.set('Zhdj', roundstr4(qdmx['综合单价']))
|
|
|
+ Qdmx.set('Zhhj', roundstr4(qdmx['合价']))
|
|
|
+ Qdmx.set('Rgf', roundstr4(qdmx['人工费']))
|
|
|
+ Qdmx.set('Zcf', roundstr4(qdmx['主材费']))
|
|
|
+ Qdmx.set('Sbf', roundstr4(qdmx['设备费']))
|
|
|
+ Qdmx.set('Fcf', roundstr4(qdmx['辅材费']))
|
|
|
+ Qdmx.set('Clf', roundstr4(qdmx['材料费']))
|
|
|
+ Qdmx.set('Jxf', roundstr4(qdmx['机械费']))
|
|
|
+ Qdmx.set('Glf', roundstr4(qdmx['管理费']))
|
|
|
+ Qdmx.set('Lr', roundstr4(qdmx['利润']))
|
|
|
+ Qdmx.set('Zgj', roundstr4(qdmx['暂估价']))
|
|
|
+ Qdmx.set('Zgr', roundstr4(qdmx['综合人工工日']))
|
|
|
+ Qdmx.set('Bz', str(qdmx['备注']))
|
|
|
+ Qdxdezj = ET.SubElement(Qdmx, 'Qdxdezj')
|
|
|
+ if '__children' in qdmx:
|
|
|
+ for child in qdmx['__children']:
|
|
|
+ QdxdezjMx = ET.SubElement(Qdxdezj, 'QdxdezjMx')
|
|
|
+ QdxdezjMx.set('Debm', str(child['清单编码']))
|
|
|
+ QdxdezjMx.set('Mc', str(child['名称']))
|
|
|
+ QdxdezjMx.set('Dw', str(child['单位']))
|
|
|
+ QdxdezjMx.set('DwQdSl', roundstr4(child['数量']))
|
|
|
+ QdxdezjMx.set('Dj', roundstr4(child['综合单价']))
|
|
|
+ QdxdezjMx.set('Hj', roundstr4(child['合价']))
|
|
|
+ QdxdezjMx.set('Rgf', roundstr4(child['人工费']))
|
|
|
+ QdxdezjMx.set('Zcf', roundstr4(child['主材费']))
|
|
|
+ QdxdezjMx.set('Sbf', roundstr4(child['设备费']))
|
|
|
+ QdxdezjMx.set('Fcf', roundstr4(child['辅材费']))
|
|
|
+ QdxdezjMx.set('Clf', roundstr4(child['材料费']))
|
|
|
+ QdxdezjMx.set('Jxf', roundstr4(child['机械费']))
|
|
|
+ QdxdezjMx.set('Glf', roundstr4(child['管理费']))
|
|
|
+ QdxdezjMx.set('Lr', roundstr4(child['利润']))
|
|
|
+ Qdxdercjhl = ET.SubElement(QdxdezjMx, 'Qdxdercjhl')
|
|
|
+ for i in range(len(child['dercj'])):
|
|
|
+ if i == 0:
|
|
|
+ pass
|
|
|
+ else:
|
|
|
+ QdxdercjhlMx = ET.SubElement(Qdxdercjhl, 'QdxdercjhlMx')
|
|
|
+ QdxdercjhlMx.set('RcjId', util.indexrcj(rcjhz, child['dercj'][i]))
|
|
|
+ QdxdercjhlMx.set('Rcjhl', roundstr4(child['dercj'][i][10]))
|
|
|
+ QdxdercjhlMx.set('Rcjhj', roundstr4(child['dercj'][i][11]))
|
|
|
+ Qdxrcjhl = ET.SubElement(Qdmx, 'Qdxrcjhl')
|
|
|
+ for i in range(len(qdmx['rcj'])):
|
|
|
+ if i == 0:
|
|
|
+ pass
|
|
|
+ else:
|
|
|
+ QdxrcjhlMx = ET.SubElement(Qdxrcjhl, 'QdxrcjhlMx')
|
|
|
+ QdxrcjhlMx.set('RcjId', util.indexrcj(rcjhz, qdmx['rcj'][i]))
|
|
|
+ ##str(djcs['rcj'][i][0]))
|
|
|
+ QdxrcjhlMx.set('Rcjhl', roundstr4(qdmx['rcj'][i][10]))
|
|
|
+ QdxrcjhlMx.set('Rcjhj', roundstr4(qdmx['rcj'][i][11]))
|
|
|
QdxrcjhlMx.set('Zgjbz', str(qdmx['rcj'][i][12]))
|
|
|
QdxrcjhlMx.set('Zyclbz', str(qdmx['rcj'][i][13]))
|
|
|
QdxrcjhlMx.set('Zcbz', str(qdmx['rcj'][i][14]))
|
|
|
QdxrcjhlMx.set('Sbbz', str(qdmx['rcj'][i][15]))
|
|
|
- else:
|
|
|
- qdbt_addition = Dwgc['qdbt_addition']
|
|
|
- for bt in qdbt_addition:
|
|
|
- QdBt = ET.SubElement(Qdxm, 'QdBt')
|
|
|
- QdBt.set('Xh', bt['Xh'])
|
|
|
- QdBt.set('Mc', bt['Mc'])
|
|
|
- QdBt.set('Je', bt['Je'])
|
|
|
- QdBt.set('Zgj', bt['Zgj'])
|
|
|
- QdBt.set('Bz', bt['Bz'])
|
|
|
- collection = db["qdxm"]
|
|
|
- before_sort = []
|
|
|
- async for post in collection.find({"biao_id": id, "Dwgcbh": entry['Dwgcbh'], 'bt': bt['Mc']}):
|
|
|
- before_sort.append(post)
|
|
|
- after_sort = sorted(before_sort, key=lambda x: int(x['序号']))
|
|
|
- for qdmx in after_sort:
|
|
|
- Qdmx = ET.SubElement(QdBt, 'Qdmx')
|
|
|
- Qdmx.set('Xh', str(qdmx['序号']))
|
|
|
- Qdmx.set('Qdbm', str(qdmx['清单编码']))
|
|
|
- Qdmx.set('Mc', str(qdmx['名称']))
|
|
|
- Qdmx.set('Xmtz', str(qdmx['项目特征']))
|
|
|
- Qdmx.set('Jsgz', str(qdmx['计算规则']))
|
|
|
- Qdmx.set('Dw', str(qdmx['单位']))
|
|
|
- Qdmx.set('Sl', str(qdmx['数量']))
|
|
|
- Qdmx.set('Zhdj', str(qdmx['综合单价']))
|
|
|
- Qdmx.set('Zhhj', str(qdmx['合价']))
|
|
|
- Qdmx.set('Rgf', str(qdmx['人工费']))
|
|
|
- Qdmx.set('Zcf', str(qdmx['主材费']))
|
|
|
- Qdmx.set('Sbf', str(qdmx['设备费']))
|
|
|
- Qdmx.set('Fcf', str(qdmx['辅材费']))
|
|
|
- Qdmx.set('Clf', str(qdmx['材料费']))
|
|
|
- Qdmx.set('Jxf', str(qdmx['机械费']))
|
|
|
- Qdmx.set('Glf', str(qdmx['管理费']))
|
|
|
- Qdmx.set('Lr', str(qdmx['利润']))
|
|
|
- Qdmx.set('Zgj', str(qdmx['暂估价']))
|
|
|
- Qdmx.set('Zgr', str(qdmx['综合人工工日']))
|
|
|
- Qdmx.set('Bz', str(qdmx['备注']))
|
|
|
- Qdxdezj = ET.SubElement(Qdmx, 'Qdxdezj')
|
|
|
- if '__children' in qdmx:
|
|
|
- for child in qdmx['__children']:
|
|
|
- QdxdezjMx = ET.SubElement(Qdxdezj, 'QdxdezjMx')
|
|
|
- QdxdezjMx.set('Debm', str(child['清单编码']))
|
|
|
- QdxdezjMx.set('Mc', str(child['名称']))
|
|
|
- QdxdezjMx.set('Dw', str(child['单位']))
|
|
|
- QdxdezjMx.set('DwQdSl', str(child['数量']))
|
|
|
- QdxdezjMx.set('Dj', str(child['综合单价']))
|
|
|
- QdxdezjMx.set('Hj', str(child['合价']))
|
|
|
- QdxdezjMx.set('Rgf', str(child['人工费']))
|
|
|
- QdxdezjMx.set('Zcf', str(child['主材费']))
|
|
|
- QdxdezjMx.set('Sbf', str(child['设备费']))
|
|
|
- QdxdezjMx.set('Fcf', str(child['辅材费']))
|
|
|
- QdxdezjMx.set('Clf', str(child['材料费']))
|
|
|
- QdxdezjMx.set('Jxf', str(child['机械费']))
|
|
|
- QdxdezjMx.set('Glf', str(child['管理费']))
|
|
|
- QdxdezjMx.set('Lr', str(child['利润']))
|
|
|
- Qdxdercjhl = ET.SubElement(QdxdezjMx, 'Qdxdercjhl')
|
|
|
- for i in range(len(child['dercj'])):
|
|
|
- if i == 0:
|
|
|
- pass
|
|
|
- else:
|
|
|
- QdxdercjhlMx = ET.SubElement(Qdxdercjhl, 'QdxdercjhlMx')
|
|
|
- QdxdercjhlMx.set('RcjId', util.indexrcj(rcjhz, child['dercj'][i]))
|
|
|
- QdxdercjhlMx.set('Rcjhl', str(child['dercj'][i][10]))
|
|
|
- QdxdercjhlMx.set('Rcjhj', str(child['dercj'][i][11]))
|
|
|
- Qdxrcjhl = ET.SubElement(Qdmx, 'Qdxrcjhl')
|
|
|
- for i in range(len(qdmx['rcj'])):
|
|
|
- if i == 0:
|
|
|
- pass
|
|
|
- else:
|
|
|
- QdxrcjhlMx = ET.SubElement(Qdxrcjhl, 'QdxrcjhlMx')
|
|
|
- QdxrcjhlMx.set('RcjId', util.indexrcj(rcjhz, qdmx['rcj'][i]))
|
|
|
- ##str(djcs['rcj'][i][0]))
|
|
|
- QdxrcjhlMx.set('Rcjhl', str(qdmx['rcj'][i][10]))
|
|
|
- QdxrcjhlMx.set('Rcjhj', str(qdmx['rcj'][i][11]))
|
|
|
- QdxrcjhlMx.set('Zgjbz', str(qdmx['rcj'][i][12]))
|
|
|
- QdxrcjhlMx.set('Zyclbz', str(qdmx['rcj'][i][13]))
|
|
|
- QdxrcjhlMx.set('Zcbz', str(qdmx['rcj'][i][14]))
|
|
|
- QdxrcjhlMx.set('Sbbz', str(qdmx['rcj'][i][15]))
|
|
|
|
|
|
|
|
|
|
|
|
@@ -849,32 +859,32 @@ async def build(client, root, id):
|
|
|
ZjCsMx.set('Xh', str(zjcs_['序号']))
|
|
|
ZjCsMx.set('Bm', str(zjcs_['清单编码']))
|
|
|
ZjCsMx.set('Mc', str(zjcs_['名称']))
|
|
|
- ZjCsMx.set('Js', str(zjcs_['计算基数']))
|
|
|
+ ZjCsMx.set('Js', roundstr(zjcs_['计算基数']))
|
|
|
ZjCsMx.set('Jsjc', str(zjcs_['计算基础']))
|
|
|
ZjCsMx.set('Fl', str(zjcs_['费率']))
|
|
|
- ZjCsMx.set('Je', str(zjcs_['金额']))
|
|
|
+ ZjCsMx.set('Je', roundstr(zjcs_['金额']))
|
|
|
ZjCsMx.set('Xmlb', str(zjcs_['项目类别']))
|
|
|
if '__children' in zjcs_:
|
|
|
AqwmfMx = ET.SubElement(ZjCsMx, 'AqwmfMx')
|
|
|
AqwmfMx.set('Mc', str(zjcs_['__children'][0]['名称']))
|
|
|
- AqwmfMx.set('Js', str(zjcs_['__children'][0]['计算基数']))
|
|
|
+ AqwmfMx.set('Js', roundstr(zjcs_['__children'][0]['计算基数']))
|
|
|
AqwmfMx.set('Jsjc', str(zjcs_['__children'][0]['计算基础']))
|
|
|
AqwmfMx.set('Fl', str(zjcs_['__children'][0]['费率']))
|
|
|
- AqwmfMx.set('Je', str(zjcs_['__children'][0]['金额']))
|
|
|
+ AqwmfMx.set('Je', roundstr(zjcs_['__children'][0]['金额']))
|
|
|
AqwmfMx.set('Xmlb', str(zjcs_['__children'][0]['项目类别']))
|
|
|
AqwmfMx = ET.SubElement(ZjCsMx, 'AqwmfMx')
|
|
|
AqwmfMx.set('Mc', str(zjcs_['__children'][1]['名称']))
|
|
|
- AqwmfMx.set('Js', str(zjcs_['__children'][1]['计算基数']))
|
|
|
+ AqwmfMx.set('Js', roundstr(zjcs_['__children'][1]['计算基数']))
|
|
|
AqwmfMx.set('Jsjc', str(zjcs_['__children'][1]['计算基础']))
|
|
|
AqwmfMx.set('Fl', str(zjcs_['__children'][1]['费率']))
|
|
|
- AqwmfMx.set('Je', str(zjcs_['__children'][1]['金额']))
|
|
|
+ AqwmfMx.set('Je', roundstr(zjcs_['__children'][1]['金额']))
|
|
|
AqwmfMx.set('Xmlb', str(zjcs_['__children'][1]['项目类别']))
|
|
|
AqwmfMx = ET.SubElement(ZjCsMx, 'AqwmfMx')
|
|
|
AqwmfMx.set('Mc', str(zjcs_['__children'][2]['名称']))
|
|
|
- AqwmfMx.set('Js', str(zjcs_['__children'][2]['计算基数']))
|
|
|
+ AqwmfMx.set('Js', roundstr(zjcs_['__children'][2]['计算基数']))
|
|
|
AqwmfMx.set('Jsjc', str(zjcs_['__children'][2]['计算基础']))
|
|
|
AqwmfMx.set('Fl', str(zjcs_['__children'][2]['费率']))
|
|
|
- AqwmfMx.set('Je', str(zjcs_['__children'][2]['金额']))
|
|
|
+ AqwmfMx.set('Je', roundstr(zjcs_['__children'][2]['金额']))
|
|
|
AqwmfMx.set('Xmlb', str(zjcs_['__children'][2]['项目类别']))
|
|
|
DjCs = ET.SubElement(Csxm, 'DjCs')
|
|
|
collection = db["Djcs"]
|
|
|
@@ -890,19 +900,19 @@ async def build(client, root, id):
|
|
|
DjCsMx.set('Xmtz', str(djcs['项目特征']))
|
|
|
DjCsMx.set('Jsgz', str(djcs['计算规则']))
|
|
|
DjCsMx.set('Dw', str(djcs['单位']))
|
|
|
- DjCsMx.set('Sl', str(djcs['数量']))
|
|
|
- DjCsMx.set('Zhdj', str(djcs['综合单价']))
|
|
|
- DjCsMx.set('Zhhj', str(djcs['合价']))
|
|
|
- DjCsMx.set('Rgf', str(djcs['人工费']))
|
|
|
- DjCsMx.set('Zcf', str(djcs['主材费']))
|
|
|
- DjCsMx.set('Sbf', str(djcs['设备费']))
|
|
|
- DjCsMx.set('Fcf', str(djcs['辅材费']))
|
|
|
- DjCsMx.set('Clf', str(djcs['材料费']))
|
|
|
- DjCsMx.set('Jxf', str(djcs['机械费']))
|
|
|
- DjCsMx.set('Glf', str(djcs['管理费']))
|
|
|
- DjCsMx.set('Lr', str(djcs['利润']))
|
|
|
- DjCsMx.set('Zgj', str(djcs['暂估价']))
|
|
|
- DjCsMx.set('Zgr', str(djcs['综合人工工日']))
|
|
|
+ DjCsMx.set('Sl', roundstr4(djcs['数量']))
|
|
|
+ DjCsMx.set('Zhdj', roundstr4(djcs['综合单价']))
|
|
|
+ DjCsMx.set('Zhhj', roundstr4(djcs['合价']))
|
|
|
+ DjCsMx.set('Rgf', roundstr4(djcs['人工费']))
|
|
|
+ DjCsMx.set('Zcf', roundstr4(djcs['主材费']))
|
|
|
+ DjCsMx.set('Sbf', roundstr4(djcs['设备费']))
|
|
|
+ DjCsMx.set('Fcf', roundstr4(djcs['辅材费']))
|
|
|
+ DjCsMx.set('Clf', roundstr4(djcs['材料费']))
|
|
|
+ DjCsMx.set('Jxf', roundstr4(djcs['机械费']))
|
|
|
+ DjCsMx.set('Glf', roundstr4(djcs['管理费']))
|
|
|
+ DjCsMx.set('Lr', roundstr4(djcs['利润']))
|
|
|
+ DjCsMx.set('Zgj', roundstr4(djcs['暂估价']))
|
|
|
+ DjCsMx.set('Zgr', roundstr4(djcs['综合人工工日']))
|
|
|
Csxdezj = ET.SubElement(DjCsMx, 'Csxdezj')
|
|
|
if '__children' in djcs:
|
|
|
for child in djcs['__children']:
|
|
|
@@ -910,17 +920,17 @@ async def build(client, root, id):
|
|
|
CsxdezjMx.set('Debm', str(child['清单编码']))
|
|
|
CsxdezjMx.set('Mc', str(child['名称']))
|
|
|
CsxdezjMx.set('Dw', str(child['单位']))
|
|
|
- CsxdezjMx.set('DwQdSl', str(child['数量']))
|
|
|
- CsxdezjMx.set('Dj', str(child['综合单价']))
|
|
|
- CsxdezjMx.set('Hj', str(child['合价']))
|
|
|
- CsxdezjMx.set('Rgf', str(child['人工费']))
|
|
|
- CsxdezjMx.set('Zcf', str(child['主材费']))
|
|
|
- CsxdezjMx.set('Sbf', str(child['设备费']))
|
|
|
- CsxdezjMx.set('Fcf', str(child['辅材费']))
|
|
|
- CsxdezjMx.set('Clf', str(child['材料费']))
|
|
|
- CsxdezjMx.set('Jxf', str(child['机械费']))
|
|
|
- CsxdezjMx.set('Glf', str(child['管理费']))
|
|
|
- CsxdezjMx.set('Lr', str(child['利润']))
|
|
|
+ CsxdezjMx.set('DwQdSl', roundstr4(child['数量']))
|
|
|
+ CsxdezjMx.set('Dj', roundstr4(child['综合单价']))
|
|
|
+ CsxdezjMx.set('Hj', roundstr4(child['合价']))
|
|
|
+ CsxdezjMx.set('Rgf', roundstr4(child['人工费']))
|
|
|
+ CsxdezjMx.set('Zcf', roundstr4(child['主材费']))
|
|
|
+ CsxdezjMx.set('Sbf', roundstr4(child['设备费']))
|
|
|
+ CsxdezjMx.set('Fcf', roundstr4(child['辅材费']))
|
|
|
+ CsxdezjMx.set('Clf', roundstr4(child['材料费']))
|
|
|
+ CsxdezjMx.set('Jxf', roundstr4(child['机械费']))
|
|
|
+ CsxdezjMx.set('Glf', roundstr4(child['管理费']))
|
|
|
+ CsxdezjMx.set('Lr', roundstr4(child['利润']))
|
|
|
Csxdercjhl = ET.SubElement(CsxdezjMx, 'Csxdercjhl')
|
|
|
for i in range(len(child['dercj'])):
|
|
|
if i == 0:
|
|
|
@@ -928,8 +938,8 @@ async def build(client, root, id):
|
|
|
else:
|
|
|
CsxdercjhlMx = ET.SubElement(Csxdercjhl, 'CsxdercjhlMx')
|
|
|
CsxdercjhlMx.set('RcjId', util.indexrcj(rcjhz, child['dercj'][i]))
|
|
|
- CsxdercjhlMx.set('Rcjhl', str(child['dercj'][i][10]))
|
|
|
- CsxdercjhlMx.set('Rcjhj', str(child['dercj'][i][11]))
|
|
|
+ CsxdercjhlMx.set('Rcjhl', roundstr4(child['dercj'][i][10]))
|
|
|
+ CsxdercjhlMx.set('Rcjhj', roundstr4(child['dercj'][i][11]))
|
|
|
Csxrcjhl = ET.SubElement(DjCsMx, 'Csxrcjhl')
|
|
|
for i in range(len(djcs['rcj'])):
|
|
|
if i == 0:
|
|
|
@@ -938,8 +948,8 @@ async def build(client, root, id):
|
|
|
CsxrcjhlMx = ET.SubElement(Csxrcjhl, 'CsxrcjhlMx')
|
|
|
CsxrcjhlMx.set('RcjId', util.indexrcj(rcjhz, djcs['rcj'][i]))
|
|
|
##str(djcs['rcj'][i][0]))
|
|
|
- CsxrcjhlMx.set('Rcjhl', str(djcs['rcj'][i][10]))
|
|
|
- CsxrcjhlMx.set('Rcjhj', str(djcs['rcj'][i][11]))
|
|
|
+ CsxrcjhlMx.set('Rcjhl', roundstr4(djcs['rcj'][i][10]))
|
|
|
+ CsxrcjhlMx.set('Rcjhj', roundstr4(djcs['rcj'][i][11]))
|
|
|
CsxrcjhlMx.set('Zgjbz', str(djcs['rcj'][i][12]))
|
|
|
CsxrcjhlMx.set('Zyclbz', str(djcs['rcj'][i][13]))
|
|
|
CsxrcjhlMx.set('Zcbz', str(djcs['rcj'][i][14]))
|
|
|
@@ -981,7 +991,7 @@ async def build(client, root, id):
|
|
|
QtxmMx = ET.SubElement(Qtxm, 'QtxmMx')
|
|
|
QtxmMx.set('Xh', str(qtxm_[0]))
|
|
|
QtxmMx.set('Mc', str(qtxm_[1]))
|
|
|
- QtxmMx.set('Je', str(qtxm_[2]))
|
|
|
+ QtxmMx.set('Je', roundstr(qtxm_[2]))
|
|
|
QtxmMx.set('Xmlb', str(qtxm_[3]))
|
|
|
QtxmMx.set('Bz', str(qtxm_[4]))
|
|
|
Zlje = ET.SubElement(Dwgcxx, 'Zlje')
|
|
|
@@ -990,7 +1000,7 @@ async def build(client, root, id):
|
|
|
ZljeMx.set('Xh', str(zlje[i]['序号']))
|
|
|
ZljeMx.set('Mc', str(zlje[i]['名称']))
|
|
|
ZljeMx.set('Dw', str(zlje[i]['单位']))
|
|
|
- ZljeMx.set('Zdje', str(zlje[i]['暂定金额']))
|
|
|
+ ZljeMx.set('Zdje', roundstr(zlje[i]['暂定金额']))
|
|
|
ZljeMx.set('Bz', str(zlje[i]['备注']))
|
|
|
Clzg = ET.SubElement(Dwgcxx, 'Clzg')
|
|
|
Zygczg = ET.SubElement(Dwgcxx, 'Zygczg')
|
|
|
@@ -999,38 +1009,38 @@ async def build(client, root, id):
|
|
|
ZygczgMx.set('Xh', str(zygczgj_['序号']))
|
|
|
ZygczgMx.set('Mc', str(zygczgj_['名称']))
|
|
|
ZygczgMx.set('Gcnr', str(zygczgj_['工程内容']))
|
|
|
- ZygczgMx.set('Je', str(zygczgj_['金额']))
|
|
|
+ ZygczgMx.set('Je', roundstr(zygczgj_['金额']))
|
|
|
ZygczgMx.set('Bz', str(zygczgj_['备注']))
|
|
|
Jrg = ET.SubElement(Dwgcxx, 'Jrg')
|
|
|
for jrg_ in jrg:
|
|
|
JrgBt = ET.SubElement(Jrg, 'JrgBt')
|
|
|
JrgBt.set('Xh', str(jrg_['序号']))
|
|
|
JrgBt.set('Mc', str(jrg_['名称']))
|
|
|
- JrgBt.set('Je', str(jrg_['金额']))
|
|
|
+ JrgBt.set('Je', roundstr(jrg_['金额']))
|
|
|
JrgBt.set('Lb', str(jrg_['类别']))
|
|
|
Zcbfwf = ET.SubElement(Dwgcxx, 'Zcbfwf')
|
|
|
for zcbfwf_ in zcbfwf:
|
|
|
ZcbfwfMx = ET.SubElement(Zcbfwf, 'ZcbfwfMx')
|
|
|
ZcbfwfMx.set('Xh', str(zcbfwf_['序号']))
|
|
|
ZcbfwfMx.set('Mc', str(zcbfwf_['名称']))
|
|
|
- ZcbfwfMx.set('Xmjz', str(zcbfwf_['项目价值']))
|
|
|
+ ZcbfwfMx.set('Xmjz', roundstr(zcbfwf_['项目价值']))
|
|
|
ZcbfwfMx.set('Fwnr', str(zcbfwf_['服务内容']))
|
|
|
ZcbfwfMx.set('Jsjc', str(zcbfwf_['计算基础']))
|
|
|
ZcbfwfMx.set('Fl', str(zcbfwf_['费率']))
|
|
|
- ZcbfwfMx.set('Je', str(zcbfwf_['金额']))
|
|
|
+ ZcbfwfMx.set('Je', roundstr(zcbfwf_['金额']))
|
|
|
Zjxmjdkzffj = ET.SubElement(Dwgcxx, 'Zjxmjdkzffj')
|
|
|
Fbrgycl = ET.SubElement(Dwgcxx, 'Fbrgycl')
|
|
|
for fbrgycl_ in fbrgycl:
|
|
|
FbrgyclMx = ET.SubElement(Fbrgycl, 'FbrgyclMx')
|
|
|
FbrgyclMx.set('Xh', str(fbrgycl_['序号']))
|
|
|
- FbrgyclMx.set('RcjId', str(fbrgycl_['ID']))
|
|
|
+ FbrgyclMx.set('RcjId', util.indexrcj(rcjhz, [fbrgycl_['序号'], fbrgycl_['材料编号'], fbrgycl_['名称'], fbrgycl_['规格型号'], fbrgycl_['单位']]))
|
|
|
FbrgyclMx.set('Clbh', str(fbrgycl_['材料编号']))
|
|
|
FbrgyclMx.set('Mc', str(fbrgycl_['名称']))
|
|
|
FbrgyclMx.set('Ggxh', str(fbrgycl_['规格型号']))
|
|
|
FbrgyclMx.set('Dw', str(fbrgycl_['单位']))
|
|
|
- FbrgyclMx.set('Sl', str(fbrgycl_['数量']))
|
|
|
- FbrgyclMx.set('Dj', str(fbrgycl_['单价']))
|
|
|
- FbrgyclMx.set('Hj', str(fbrgycl_['合价']))
|
|
|
+ FbrgyclMx.set('Sl', roundstr4(fbrgycl_['数量']))
|
|
|
+ FbrgyclMx.set('Dj', roundstr4(fbrgycl_['单价']))
|
|
|
+ FbrgyclMx.set('Hj', roundstr4(fbrgycl_['合价']))
|
|
|
FbrgyclMx.set('Jhfs', str(fbrgycl_['交货方式']))
|
|
|
FbrgyclMx.set('Sddd', str(fbrgycl_['送达地点']))
|
|
|
FbrgyclMx.set('Bz', str(fbrgycl_['备注']))
|
|
|
@@ -1046,9 +1056,9 @@ async def build(client, root, id):
|
|
|
RcjhzMx.set('Mc', str(rcjhz[i][2]))
|
|
|
RcjhzMx.set('Ggxh', str(rcjhz[i][3]))
|
|
|
RcjhzMx.set('Dw', str(rcjhz[i][4]))
|
|
|
- RcjhzMx.set('Sl', str(rcjhz[i][5]))
|
|
|
- RcjhzMx.set('Dj', str(rcjhz[i][6]))
|
|
|
- RcjhzMx.set('Hj', str(rcjhz[i][7]))
|
|
|
+ RcjhzMx.set('Sl', roundstr4(rcjhz[i][5]))
|
|
|
+ RcjhzMx.set('Dj', roundstr4(rcjhz[i][6]))
|
|
|
+ RcjhzMx.set('Hj', roundstr4(rcjhz[i][7]))
|
|
|
RcjhzMx.set('Cd', str(rcjhz[i][8]))
|
|
|
RcjhzMx.set('Gycs', str(rcjhz[i][9]))
|
|
|
RcjhzMx.set('Rcjlb', str(rcjhz[i][10]))
|
|
|
@@ -1431,6 +1441,7 @@ async def save(client, data):
|
|
|
rcjhz = rcjhz + qdrcj
|
|
|
collection = db["Djcs"]
|
|
|
async for post in collection.find({'biao_id': biao_id, "Dwgcbh": bh}, {'__children': 0}):
|
|
|
+
|
|
|
qdrcj = post['rcj'][1:]
|
|
|
for entry in qdrcj:
|
|
|
entry[10] = float(entry[10]) * float(post['数量'])
|