瀏覽代碼

before export qd, we need process qdbrt

Xiaopeng Zhang 6 月之前
父節點
當前提交
32547af51a
共有 2 個文件被更改,包括 25 次插入4 次删除
  1. 11 4
      subdir/db.py
  2. 14 0
      subdir/util.py

+ 11 - 4
subdir/db.py

@@ -537,6 +537,8 @@ async def build(client, root, id):
             fbrgycl = Dwgc['fbrgycl']
             rcjhz = Dwgc['rcjhz']
             zjcs = Dwgc['zjcs']
+            qdbt = Dwgc['qdbt']
+            ########################################Fywj##########################
             Fywj = ET.SubElement(Dwgcxx, 'Fywj')
             for bjhz_ in bjhz:
                 FywjMx = ET.SubElement(Fywj, 'FywjMx')
@@ -545,6 +547,7 @@ async def build(client, root, id):
                 FywjMx.set('Je', str(bjhz_[2]))
                 FywjMx.set('Zgj', str(bjhz_[3]))
                 FywjMx.set('Fyxlb', str(bjhz_[4]))
+            ########################################Gfsj##########################
             Gfsj = ET.SubElement(Dwgcxx, 'Gfsj')
             for gfsj_ in gfsj:
                 GfsjMx = ET.SubElement(Gfsj, 'GfsjMx')
@@ -555,6 +558,9 @@ async def build(client, root, id):
                 GfsjMx.set('Fl', str(gfsj_[4]))
                 GfsjMx.set('Je', str(gfsj_[5]))
                 GfsjMx.set('Fyxlb', str(gfsj_[6]))
+            Qdxm = ET.SubElement(Dwgcxx, 'Qdxm')
+
+            ########################################Csxm##########################
             Csxm = ET.SubElement(Dwgcxx, 'Csxm')
             ZjCs = ET.SubElement(Csxm, 'ZjCs')
             for zjcs_ in zjcs:
@@ -640,7 +646,7 @@ async def build(client, root, id):
                                 pass
                             else:
                                 CsxdercjhlMx = ET.SubElement(Csxdercjhl, 'CsxdercjhlMx')
-                                CsxdercjhlMx.set('RcjId', str(child['dercj'][i][0]))
+                                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]))
                     Csxrcjhl = ET.SubElement(DjCsMx, 'Csxrcjhl')
@@ -649,7 +655,8 @@ async def build(client, root, id):
                             pass
                         else:
                             CsxrcjhlMx = ET.SubElement(Csxrcjhl, 'CsxrcjhlMx')
-                            CsxrcjhlMx.set('RcjId', str(djcs['rcj'][i][0]))
+                            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('Zgjbz', str(djcs['rcj'][i][12]))
@@ -687,7 +694,7 @@ async def build(client, root, id):
 
 
 
-
+            ########################################Qtxm##########################
             Qtxm = ET.SubElement(Dwgcxx, 'Qtxm')
             for qtxm_ in qtxm:
                 QtxmMx = ET.SubElement(Qtxm, 'QtxmMx')
@@ -753,7 +760,7 @@ async def build(client, root, id):
                     pass 
                 else:
                     RcjhzMx = ET.SubElement(Rcjhz, 'RcjhzMx')
-                    RcjhzMx.set('RcjId', str(rcjhz[i][0]))
+                    RcjhzMx.set('RcjId', str(i))
                     RcjhzMx.set('RcjBm', str(rcjhz[i][1]))
                     RcjhzMx.set('Mc', str(rcjhz[i][2]))
                     RcjhzMx.set('Ggxh', str(rcjhz[i][3]))

+ 14 - 0
subdir/util.py

@@ -9,6 +9,20 @@ from pydantic import BaseModel
 import pandas as pd
 from numpy import float64
 
+
+
+def indexrcj(rcjhz, rcjarray):
+    bm = rcjarray[1]
+    name = rcjarray[2]
+    danwei = rcjarray[4]
+    target = bm + name + danwei
+    for i in range(len(rcjhz)):
+        entry = rcjhz[i]
+        attempt = entry[1] + entry[2] + entry[4]
+        if attempt == target:
+            return str(i)
+    raise Exception("not found rcjid")
+
 def huizongrcj(data):
     huizong = {}
     result = [