Ubuntu 3 nedēļas atpakaļ
vecāks
revīzija
0a903059fd
7 mainītis faili ar 1059 papildinājumiem un 157 dzēšanām
  1. 2 2
      README
  2. 16 16
      de/tj/JD_DanWeiGJ.csv
  3. 0 0
      de/tj/jxchaifen
  4. 92 8
      main.py
  5. 840 59
      subdir/db.py
  6. 90 70
      subdir/service.py
  7. 19 2
      subdir/util.py

+ 2 - 2
README

@@ -76,8 +76,8 @@ db.collection.createIndex({'DEBH': 'text'})
 清单编码索引
 db.collection.createIndex({'清单编码': 1})
 
-灰土2:8 好像也是拆分的?
-(901胶)素水泥浆 好像也是拆分的?
+灰土2:8 好像也是拆分的?not fixed
+(901胶)素水泥浆 好像也是拆分的?fixed
 
 
 chromadbserver 3.11

+ 16 - 16
de/tj/JD_DanWeiGJ.csv

@@ -860,12 +860,12 @@
 596,597,4-98,基础垫层 道碴垫层,,,85.71,1.27,46.2,11.87,,5.7,,,133.18,150.75,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,597
 597,598,4-99,基础垫层 碎石 干铺,,,110.46,1.27,46.2,11.87,,5.7,,,157.93,175.5,,,m3,,,,,00000082,,,000085;002028,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,598
 598,599,4-100,基础垫层 碎石 灌石灰黏土浆,,,121.2,1.27,65.45,16.68,,8.01,,,187.92,212.61,,,m3,,,,,00000082,,,000085;002028,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,599
-599,600,4-101,M2.5基础垫层 碎石 灌砂浆,,,161.59,9.12,65.45,18.64,,8.95,,,236.16,263.75,,,m3,,,,,00000082,,,000085;002028,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,600
+599,600,4-101,基础垫层 碎石 灌M2.5混合砂浆,,,161.59,9.12,65.45,18.64,,8.95,,,236.16,263.75,,,m3,,,,,00000082,,,000085;002028,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,600
 600,601,4-102,基础垫层 碎砖 干铺,,,60.68,1.27,43.89,11.29,,5.42,,,105.84,122.55,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,601
 601,602,4-103,基础垫层 碎砖 灌石灰黏土浆,,,79.13,1.27,65.45,16.68,,8.01,,,145.85,170.54,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,602
-602,603,4-104,M2.5基础垫层 碎砖 灌砂浆,,,98.96,6.42,65.45,17.97,,8.62,,,170.83,197.42,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,603
+602,603,4-104,基础垫层 碎砖 灌M2.5混合砂浆,,,98.96,6.42,65.45,17.97,,8.62,,,170.83,197.42,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,603
 603,604,4-105,基础垫层 毛石 干铺,,,112.52,1.27,45.43,11.68,,5.6,,,159.22,176.5,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,604
-604,605,4-106,M2.5基础垫层 毛石 灌砂浆,,,141.97,6.67,76.23,20.73,,9.95,,,224.87,255.55,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,605
+604,605,4-106,基础垫层 毛石 灌M2.5混合砂浆,,,141.97,6.67,76.23,20.73,,9.95,,,224.87,255.55,,,m3,,,,,00000082,,,000085,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,605
 605,606,4-107,基础垫层 碎石(道碴)和砂(石屑) 电动夯实机 1:1,,,123.06,1.27,53.9,13.79,,6.62,,,178.23,198.64,,,m3,,,,,00000082,,,000390,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,606
 606,607,4-108,基础垫层 碎石(道碴)和砂(石屑) 电动夯实机 1:1.5,,,118.32,1.27,53.9,13.79,,6.62,,,173.49,193.9,,,m3,,,,,00000082,,,000390,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,607
 607,608,4-109,基础垫层 碎石(道碴)和砂(石屑) 压路机 1:1,,,141.6,8.57,48.51,14.27,,6.85,,,198.68,219.8,,,m3,,,,,00000082,,,000390,,1,,,,,铺设垫层、找平、灌浆、夯实。,,,0,0.0,,,,608
@@ -2012,7 +2012,7 @@
 3.表面水泥砂浆保护层。",,,0,0.0,,,,1498
 1498,1499,10-99,刷冷底子油 第一遍,,,48.63,0.0,12.3,3.08,,1.48,,,60.93,65.49,,,10m2,,,,,00000205,,,,,10,,,,,清理基层、调制、涂刷冷底子油。,,,0,0.0,,,,1499
 1499,1500,10-100,刷冷底子油 第二遍,,,32.72,0.0,11.48,2.87,,1.38,,,44.2,48.45,,,10m2,,,,,00000205,,,,,10,,,,,清理基层、调制、涂刷冷底子油。,,,0,0.0,,,,1500
-1500,1501,10-101,氰凝防水涂料 地下室墙、板  屋面 二涂,,,133.84,0.0,40.18,10.05,,4.82,,,174.02,188.89,,,10m2,,,,二,00000205,,10-102,,,10,,,,,裁、铺玻璃纤维布,涂刷各遍氰凝。,,,0,0.0,,,,1501
+1500,1501,10-101,氰凝防水涂料 地下室墙、板  屋面 二涂,,,133.84,0.0,40.18,10.05,,4.82,,,174.02,188.89,,,10m2,,,,二,00000205,,10-102;10-103,,,10,,,,,裁、铺玻璃纤维布,涂刷各遍氰凝。,,,0,0.0,,,,1501
 1501,1502,10-102,氰凝防水涂料 地下室墙、板  屋面 每增(减)一涂,,,60.85,0.0,9.84,2.46,,1.18,,,70.69,74.33,,,10m2,,,,1,00000205,,,,,10,,,,,裁、铺玻璃纤维布,涂刷各遍氰凝。,,,0,0.0,,,,1502
 1502,1503,10-103,氰凝防水涂料 地下室墙、板  屋面 每增一布,,,29.67,0.0,16.4,4.1,,1.97,,,46.07,52.14,,,10m2,,,,1,00000205,,,,,10,,,,,裁、铺玻璃纤维布,涂刷各遍氰凝。,,,0,0.0,,,,1503
 1503,1504,10-104,刷石油沥青 一遍 平面,,,155.77,0.0,14.76,3.69,,1.77,,,170.53,175.99,,,10m2,,,,一,00000205,,10-107,,,10,,,,,清理基层、熬制、涂刷石油沥青(冷底子油)。,,,0,0.0,,,,1504
@@ -2035,7 +2035,7 @@
 2.在防水薄弱处做涂布附加层,贴布防水层。",,,0,0.0,,,,1518
 1518,1519,10-119,丙烯酸 防水涂料 一布三涂,,,166.26,0.0,51.66,12.92,,6.2,,,217.92,237.04,,,10m2,,,,,00000205,,,,,10,,,,,"1.清理基层、调制、涂刷防水层。
 2.在防水薄弱处做涂布附加层,贴布防水层。",,,0,0.0,,,,1519
-1519,1520,10-120,水泥基渗透结晶 防水材料 二~三遍(厚2mm),,,456.0,3.8,24.6,7.1,,3.41,,,484.4,494.91,,,10m2,,,,,00000205,,,,,10,,,,,"1.清理基层、调制、涂刷防水层。
+1519,1520,10-120,水泥基渗透结晶 防水材料 二~三遍(厚2mm),,,456.0,3.8,24.6,7.1,,3.41,,,484.4,494.91,,,10m2,,,,,00000205,,盐补10-120,,,10,,,,,"1.清理基层、调制、涂刷防水层。
 2.在防水薄弱处做涂布附加层,贴布防水层。",,,0,0.0,,,,1520
 1520,1521,10-121,(防水砂浆 1:2)防水砂浆 平面,,,85.6,4.91,68.06,18.24,,8.76,,,158.57,185.57,,,10m2,,,,,00000206,,,000518,,10,,,,,清理基层、调制砂浆、抹灰养护。,,,0,0.0,,,,1521
 1521,1522,10-122,(防水砂浆 1:2)防水砂浆 立面,,,89.33,5.15,101.68,26.71,,12.82,,,196.16,235.69,,,10m2,,,,,00000206,,,000518,,10,,,,,清理基层、调制砂浆、抹灰养护。,,,0,0.0,,,,1522
@@ -2986,11 +2986,11 @@
 2.调制砂浆、灌缝。",,,0,0.0,,,,1947
 1947,1948,13-5,毛石 干铺垫层,,,112.4,1.06,47.56,12.16,,5.83,,,161.02,179.01,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
 2.调制砂浆、灌缝。",,,0,0.0,,,,1948
-1948,1949,13-6,M2.5毛石 灌浆垫层,,,141.03,6.33,76.26,20.65,,9.91,,,223.62,254.18,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
+1948,1949,13-6,毛石 灌M2.5混合砂浆垫层,,,141.03,6.33,76.26,20.65,,9.91,,,223.62,254.18,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
 2.调制砂浆、灌缝。",,,0,0.0,,,,1949
 1949,1950,13-7,碎砖 干铺垫层,,,57.75,1.06,41.0,10.52,,5.05,,,99.81,115.38,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
 2.调制砂浆、灌缝。",,,0,0.0,,,,1950
-1950,1951,13-8,M2.5碎砖 灌浆垫层,,,87.6,6.21,61.5,16.93,,8.13,,,155.31,180.37,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
+1950,1951,13-8,碎砖 灌M2.5混合砂浆垫层,,,87.6,6.21,61.5,16.93,,8.13,,,155.31,180.37,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,"1.拌和、铺设、找平、夯实。
 2.调制砂浆、灌缝。",,,0,0.0,,,,1951
 1951,1952,13-9,碎石 干铺垫层,,,110.46,1.06,43.46,11.13,,5.34,,,154.98,171.45,,,m3,,,,,00000245,,,000001;000246;000247;002087,,1,,,,,铺设、找平、夯实。,,,0,0.0,,,,1952
 1952,1953,13-10,道碴 干铺垫层,,,85.71,1.06,64.78,16.46,,7.9,,,151.55,175.91,,,m3,,,,,00000245,,,000001;000246;002087,,1,,,,,铺设、找平、夯实。,,,0,0.0,,,,1953
@@ -3616,7 +3616,7 @@
 2322,2323,14-212,玻璃粘贴在 砂浆砖面墙面,,,1237.1,4.0,164.9,42.23,,20.27,,,1406.0,1468.5,,,10m2,,,,,00000297,,,000001;000301;000554;002110,,10,,,,,清理基层、弹线、下料、安装玻璃面层、磨砂打边、清理净面。,,,0,0.0,,,,2323
 2323,2324,14-213,硬木板条墙面20mm厚,,,548.02,8.95,225.25,58.55,,28.1,,,782.22,868.87,,,10m2,,,,,00000297,,,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2324
 2324,2325,14-214,竹片墙面,,,326.39,0.0,164.9,41.23,,19.79,,,491.29,552.31,,,10m2,,,,,00000297,,,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2325
-2325,2326,14-215,石膏板墙面,,,151.32,0.0,103.7,25.93,,12.44,,,255.02,293.39,,,10m2,,,,,00000297,,,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2326
+2325,2326,14-215,石膏板墙面,,,151.32,0.0,103.7,25.93,,12.44,,,255.02,293.39,,,10m2,,,,,00000297,,NT14-补10,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2326
 2326,2327,14-216,超细玻璃棉,,,136.75,0.0,62.05,15.51,,7.45,,,198.8,221.76,,,10m2,,,,,00000297,,,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2327
 2327,2328,14-217,水泥压力板,,,281.82,0.0,87.55,21.89,,10.51,,,369.37,401.77,,,10m2,,,,,00000297,,,000001,,10,,,,,清理基层、定位下料、制作、铺钉面层、清理净面。,,,0,0.0,,,,2328
 2328,2329,14-218,塑料扣板,,,212.51,0.0,95.2,23.8,,11.42,,,307.71,342.93,,,10m2,,,,,00000297,,,000001,,10,,,,,"1.清理基层、定位下料、制作、铺钉面层、清理净面。
@@ -3815,9 +3815,9 @@
 2380,2381,15-42,胶合板面层安装在木龙骨上 平面,,,127.55,0.0,88.4,22.1,,10.61,,,215.95,248.66,,,10m2,,,,,00000309,,,000001;000311;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2381
 2381,2382,15-43,胶合板面层安装在木龙骨上 分缝,,,127.55,0.0,95.2,23.8,,11.42,,,222.75,257.97,,,10m2,,,,,00000309,,,000001;000311;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2382
 2382,2383,15-44,胶合板面层安装在木龙骨上 凹凸,,,135.15,0.0,105.4,26.35,,12.65,,,240.55,279.55,,,10m2,,,,,00000309,,,000001;000311;002122;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2383
-2383,2384,15-45,纸面石膏板天棚面层 安装在U型轻钢龙骨上 平面,,,142.35,0.0,95.2,23.8,,11.42,,,237.55,272.77,,,10m2,,,,,00000310,,,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2384
-2384,2385,15-46,纸面石膏板天棚面层 安装在U型轻钢龙骨上 凹凸,,,150.42,0.0,113.9,28.48,,13.67,,,264.32,306.47,,,10m2,,,,,00000310,,,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2385
-2385,2386,15-47,纸面石膏板天棚面层 搁放在T型铝合金龙骨上,,,126.0,0.0,44.2,11.05,,5.3,,,170.2,186.55,,,10m2,,,,,00000310,,,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2386
+2383,2384,15-45,纸面石膏板天棚面层 安装在U型轻钢龙骨上 平面,,,142.35,0.0,95.2,23.8,,11.42,,,237.55,272.77,,,10m2,,,,,00000310,,NT15-补1,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2384
+2384,2385,15-46,纸面石膏板天棚面层 安装在U型轻钢龙骨上 凹凸,,,150.42,0.0,113.9,28.48,,13.67,,,264.32,306.47,,,10m2,,,,,00000310,,NT15-补1,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2385
+2385,2386,15-47,纸面石膏板天棚面层 搁放在T型铝合金龙骨上,,,126.0,0.0,44.2,11.05,,5.3,,,170.2,186.55,,,10m2,,,,,00000310,,NT15-补1,000001;0B0013;0B0014,,10,,,,,安装天棚面层,清理表面等全面操作过程。,,,0,0.0,,,,2386
 2386,2387,15-48,面层贴在夹板基层上 普通切片板 平面,,,263.2,0.0,153.0,38.25,,18.36,,,416.2,472.81,,,10m2,,,,,00000311,,,000001;0B0013;0B0014,,10,,,,,清理基层、粘贴、安装面板等全部操作过程。,,,0,0.0,,,,2387
 2387,2388,15-49,面层贴在夹板基层上 普通切片板 凹凸,,,272.2,0.0,182.75,45.69,,21.93,,,454.95,522.57,,,10m2,,,,,00000311,,,000001;0B0013;0B0014,,10,,,,,清理基层、粘贴、安装面板等全部操作过程。,,,0,0.0,,,,2388
 2388,2389,15-50,铝合金(嵌入式)方板天棚面层 平板,,,945.0,0.0,73.1,18.28,,8.77,,,1018.1,1045.15,,,10m2,,,,,00000312,,,000001;0B0013;0B0014,,10,,,,,安装天棚面层、清理等全部操作过程。,,,0,0.0,,,,2389
@@ -4443,9 +4443,9 @@
 2.板面钉眼点批封漆。",,,0,0.0,,,,2953
 2953,2954,17-174,清油封底,,,14.57,0.0,21.25,5.31,,2.55,,,35.82,43.68,,,10m2,,,,,00000378,,,000001,,10,,,,,清扫、补缝、满刮腻子或嵌补缝腻子、板缝贴自粘胶带、磨砂纸等全部操作过程。,,,0,0.0,,,,2954
 2954,2955,17-175,天棚墙面板缝贴自粘胶带,,,3.19,0.0,4.25,1.06,,0.51,,,7.44,9.01,,,10m,,,,,00000378,,,000001,,10,,,,,清扫、补缝、满刮腻子或嵌补缝腻子、板缝贴自粘胶带、磨砂纸等全部操作过程。,,,0,0.0,,,,2955
-2955,2956,17-176,内墙面 在抹灰面上 901胶混合腻子批三遍、刷乳胶漆三遍,,,71.07,0.0,120.7,30.18,,14.48,,,191.77,236.43,,,10m2,,,,,00000379,,,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2956
-2956,2957,17-177,内墙面 在抹灰面上 901胶白水泥腻子批三遍、刷乳胶漆三遍,,,71.26,0.0,134.3,33.58,,16.12,,,205.56,255.26,,,10m2,,,,"三,三",00000379,,,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2957
-2957,2958,17-179,天棚复杂面 在抹灰面上 901胶白水泥腻子批三遍、刷乳胶漆三遍,,,75.57,0.0,161.5,40.38,,19.38,,,237.07,296.83,,,10m2,,,,"三,三",00000379,,,000001;000372;000373;000374,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2959
+2955,2956,17-176,内墙面 在抹灰面上 901胶混合腻子批三遍、刷乳胶漆三遍,,,71.07,0.0,120.7,30.18,,14.48,,,191.77,236.43,,,10m2,,,,,00000379,,17-184,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2956
+2956,2957,17-177,内墙面 在抹灰面上 901胶白水泥腻子批三遍、刷乳胶漆三遍,,,71.26,0.0,134.3,33.58,,16.12,,,205.56,255.26,,,10m2,,,,"三,三",00000379,,17-183;17-184,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2957
+2957,2958,17-179,天棚复杂面 在抹灰面上 901胶白水泥腻子批三遍、刷乳胶漆三遍,,,75.57,0.0,161.5,40.38,,19.38,,,237.07,296.83,,,10m2,,,,"三,三",00000379,,17-183;17-184,000001;000372;000373;000374,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2959
 2958,2959,17-180,内墙面在刮糙面上 901胶混合腻子 批、刷乳胶漆各三遍,,,79.9,0.0,140.25,35.06,,16.83,,,220.15,272.04,,,10m2,,,,,00000379,,,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2960
 2959,2960,17-181,内墙面在刮糙面上 901胶白水泥腻子 批、刷乳胶漆各三遍,,,84.1,0.0,146.2,36.55,,17.54,,,230.3,284.39,,,10m2,,,,,00000379,,,000001;000372;000373;000375,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2961
 2960,2961,17-182,夹板面 批腻子三遍、刷乳胶漆三遍,,,65.13,0.0,126.65,31.66,,15.2,,,191.78,238.64,,,10m2,,,,三,00000379,,17-185,000001;000375;002167,,10,,,,,清扫、配浆、批腻子、找补腻子、磨砂纸、批刷(喷)乳胶漆各三遍。,,,0,0.0,,,,2962
@@ -4469,8 +4469,8 @@
 2975,2976,17-196,外墙批抗裂腻子 每增减一遍,,,42.5,0.0,22.95,5.74,,2.75,,,65.45,73.94,,,10m2,,,,1,00000380,,,000001,,10,,,,,清扫、补缝、满刮腻子或嵌补缝腻子、磨砂纸等全部操作过程。,,,0,0.0,,,,2976
 2976,2977,17-197,外墙弹性涂料 二遍,,,259.01,0.0,76.5,19.13,,9.18,,,335.51,363.82,,,10m2,,,,二,00000380,,17-198,000001,,10,,,,,基层清理、刷封闭底漆;调、批腻子二遍、打磨;涂刷涂料。,,,0,0.0,,,,2977
 2977,2978,17-198,外墙弹性涂料 每增、减一遍,,,60.0,0.0,8.5,2.13,,1.02,,,68.5,71.65,,,10m2,,,,1,00000380,,,000001,,10,,,,,基层清理、刷封闭底漆;调、批腻子二遍、打磨;涂刷涂料。,,,0,0.0,,,,2978
-2978,2979,17-199,外墙溶剂涂料光面 一底二面,,,88.61,0.0,68.85,17.21,,8.26,,,157.46,182.93,,,10m2,,,,,00000380,,,000001,,10,,,,,基层清理、填补缝隙、局部刮腻子、清铲、打磨、遮盖不喷部位、喷(刷)底涂一遍、喷(刷)面涂二遍等全部操作过程。,,,0,0.0,,,,2979
-2979,2980,17-200,外墙溶剂涂料毛面 一底二面,,,103.91,0.0,73.1,18.28,,8.77,,,177.01,204.06,,,10m2,,,,,00000380,,,000001,,10,,,,,基层清理、填补缝隙、局部刮腻子、清铲、打磨、遮盖不喷部位、喷(刷)底涂一遍、喷(刷)面涂二遍等全部操作过程。,,,0,0.0,,,,2980
+2978,2979,17-199,外墙溶剂涂料光面 一底二面,,,88.61,0.0,68.85,17.21,,8.26,,,157.46,182.93,,,10m2,,,,,00000380,,17-201,000001,,10,,,,,基层清理、填补缝隙、局部刮腻子、清铲、打磨、遮盖不喷部位、喷(刷)底涂一遍、喷(刷)面涂二遍等全部操作过程。,,,0,0.0,,,,2979
+2979,2980,17-200,外墙溶剂涂料毛面 一底二面,,,103.91,0.0,73.1,18.28,,8.77,,,177.01,204.06,,,10m2,,,,,00000380,,17-201,000001,,10,,,,,基层清理、填补缝隙、局部刮腻子、清铲、打磨、遮盖不喷部位、喷(刷)底涂一遍、喷(刷)面涂二遍等全部操作过程。,,,0,0.0,,,,2980
 2980,2981,17-201,外墙溶剂涂料 每增、减一遍,,,30.0,0.0,8.5,2.13,,1.02,,,38.5,41.65,,,10m2,,,,,00000380,,,000001,,10,,,,,基层清理、填补缝隙、局部刮腻子、清铲、打磨、遮盖不喷部位、喷(刷)底涂一遍、喷(刷)面涂二遍等全部操作过程。,,,0,0.0,,,,2981
 2981,2982,17-202,外墙彩砂喷涂二遍 抹灰面,,,665.35,25.02,85.85,27.72,,13.3,,,776.22,817.24,,,10m2,,,,二,00000381,,17-204,000001;002168,,10,,,,,基层清理、刷封闭漆;批腻子二遍、遮盖、贴胶带;分层喷砂。,,,0,0.0,,,,2982
 2982,2983,17-203,外墙彩砂喷涂二遍 混凝土面,,,951.49,25.02,94.35,29.84,,14.32,,,1070.86,1115.02,,,10m2,,,,二,00000381,,17-204,000001;002168,,10,,,,,基层清理、刷封闭漆;批腻子二遍、遮盖、贴胶带;分层喷砂。,,,0,0.0,,,,2983

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
de/tj/jxchaifen


+ 92 - 8
main.py

@@ -36,6 +36,8 @@ from contextlib import asynccontextmanager
 from fastapi import WebSocket, WebSocketDisconnect
 from fastapi import UploadFile, File, Form
 from collections.abc import AsyncIterator
+from tasks import process_data
+from celery.result import AsyncResult
 
 from fastapi_login import LoginManager
 
@@ -97,8 +99,43 @@ def load_user(id: str):  # could also be an asynchronous function
     
     return id
 
+class Task(BaseModel):
+    bianma: str
+    mc: str
+    tz: str
+    dw: str
+    sl: str
+    n: int
+    label: str
 
+class Jxtz(BaseModel):
+    biao_id: str
+    bh: str
+    glf: str
+    lr: str
+    bz: int
+    gong: str
+    chaiyou: str
+    qiyou: str
+    dian: str
+
+class Rgtz(BaseModel):
+    biao_id: str
+    bh: str
+    yi: str
+    er: str
+    san: str
+    glf: str
+    lr: str
+    bz: int
 
+class Zcfx(BaseModel):
+    biao_id: str
+    bh: str
+class Zcfx2(BaseModel):
+    biao_id: str
+    bh: str
+    prefix: str
 
 
 
@@ -158,6 +195,21 @@ class Zjcs(BaseModel):
     bh: str
     name: str
 
+@app.post("/pushtask/")
+async def pushtask(r: Task, user=Depends(manager)):
+    task = process_data.apply_async(kwargs={"data": {"bianma": r.bianma, "mc": r.mc, "tz": r.tz, "dw": r.dw, "sl": r.sl, "n": r.n, "label": r.label}})
+    return {"id": task.id}
+
+@app.get("/checktask/{id}")
+async def checktask(id, user=Depends(manager)):
+    print(id)
+    result = AsyncResult(id)
+    return {
+      "status": result.status,
+      "result": result.result if result.ready() else None
+    }
+   
+
 
 
 @app.post("/outline2")
@@ -682,7 +734,7 @@ async def read_singledexilie2(zhuanye: int, debh: str):
         if result3['GLDE']: ##csv文件里的字段,表示这个定额有没有配套的增减定额
             hit = False
             for key, value in result3['GLDE'].items():
-                if value == debh:
+                if debh in value:
                     hit = True
             if not hit:
                 result3["reverse"] = 'None'
@@ -692,9 +744,9 @@ async def read_singledexilie2(zhuanye: int, debh: str):
             return json.dumps(service.chaifen(result3, actual_zhuanye), ensure_ascii=False)
         result1_, result2_, rgde_, jxde_, clde_, bz_selected_, bz_selected2_, actual_zhuanye_ = service.getSingleDeXilie(zhuanye, debh)
         if result1_:
-            util.mergerg(rgde, rgde_, coef)
-            util.mergejx(jxde, jxde_, coef)
-            util.mergecl(clde, clde_, coef)
+            rgde=util.mergerg(rgde, rgde_, coef)
+            jxde=util.mergejx(jxde, jxde_, coef)
+            clde=util.mergecl(clde, clde_, coef)
             result3["rgde"] = rgde
             result3["jxde"] = jxde
             result3["clde"] = clde
@@ -856,7 +908,7 @@ async def read_singledexilie(zhuanye: int, debh: str, mc: str):
         if result3['GLDE']: ##csv文件里的字段,表示这个定额有没有配套的增减定额
             hit = False
             for key, value in result3['GLDE'].items():
-                if value == debh:
+                if  debh in value:
                     hit = True
             if not hit:
                 result3["reverse"] = 'None'
@@ -866,9 +918,9 @@ async def read_singledexilie(zhuanye: int, debh: str, mc: str):
             return json.dumps(service.chaifen(result3, actual_zhuanye), ensure_ascii=False)
         result1_, result2_, rgde_, jxde_, clde_, bz_selected_, bz_selected2_, actual_zhuanye_ = await db.getSingleDeXilie(model, dingeclient, zhuanye, debh, mc)
         if result1_:
-            util.mergerg(rgde, rgde_, coef)
-            util.mergejx(jxde, jxde_, coef)
-            util.mergecl(clde, clde_, coef)
+            rgde=util.mergerg(rgde, rgde_, coef)
+            jxde=util.mergejx(jxde, jxde_, coef)
+            clde=util.mergecl(clde, clde_, coef)
             result3["rgde"] = rgde
             result3["jxde"] = jxde
             result3["clde"] = clde
@@ -957,6 +1009,38 @@ async def applyFL(r: InfoWithID, user=Depends(manager)):
  
     return await db.applyFL(client, r.id, data, user)
 
+@app.post("/rgtz/")
+async def rgtz(r: Rgtz, user=Depends(manager)):
+    glf = r.glf
+    lr = r.lr
+    if r.glf == '':
+        glf = '0'
+    if r.lr == "":
+        lr = '0'
+    ##return []
+    yi = r.yi
+    er = r.er
+    san = r.san
+    return await db.rgtz(client, r.biao_id, r.bh, yi, er, san, glf, lr, r.bz)
+
+@app.post("/zcfx/")
+async def zcfx(r: Zcfx, user=Depends(manager)):
+    return await db.zcfx(client, r.biao_id, r.bh)
+
+@app.post("/zcfx2/")
+async def zcfx2(r: Zcfx2, user=Depends(manager)):
+    return await db.zcfx2(client, r.biao_id, r.bh, r.prefix)
+
+@app.post("/jxtz/")
+async def jxtz(r: Jxtz, user=Depends(manager)):
+    glf = r.glf
+    lr = r.lr
+    if r.glf == '':
+        glf = '0'
+    if r.lr == "":
+        lr = '0'
+    return await db.jxtz(client, r.biao_id, r.bh, r.gong, r.chaiyou, r.qiyou, r.dian, glf, lr, r.bz)
+
 
 @app.post("/tiaojia/")
 async def tiaojia(r: Tiaojia, user=Depends(manager)):

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 840 - 59
subdir/db.py


+ 90 - 70
subdir/service.py

@@ -11,7 +11,27 @@ import pandas as pd
 from numpy import float64, int64
 
 
-
+def jxtiaozheng(origin, jxbh, gong, chaiyou, qiyou, dian):
+    with open("de/tj/jxchaifen", "r") as f:
+        content = f.read()
+    mapping = json.loads(content)
+    if jxbh in mapping:
+        li = mapping[jxbh]
+        sum = 0
+        for entry in li:
+            if entry['mc']=='电':
+                sum = sum + float(entry['sl'])*float(dian)
+            elif entry['mc']=='柴油':
+                sum = sum + float(entry['sl'])*float(chaiyou)
+            elif entry['mc']=='汽油':
+                sum = sum + float(entry['sl'])*float(qiyou)
+            elif entry['dw']=='工日':
+                sum = sum + float(entry['sl'])*float(gong)
+            else:
+                sum = sum + float(entry['sl'])*float(entry['jg'])
+        return sum
+    else:
+        return float(origin)
 
 def chaifen(result, zhuanye):
     clde = result['clde']
@@ -46,7 +66,7 @@ def chaifen(result, zhuanye):
                 CLBH = row.CLBH
                 CLMC = row.CLMC
                 JLDW = row.JLDW
-                YSJG = row.YSJG
+                YSJG = row.Csdj
                 SL = float(row.SL) * float(entry['SL'])
                 HJ = float(row.HJ) * float(entry['SL'])
                 entry['children'].append({'CLBH': CLBH,
@@ -1675,7 +1695,7 @@ def getSingleDeXilie_xsaz(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -1699,7 +1719,7 @@ def getSingleDeXilie_xsaz(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -1724,7 +1744,7 @@ def getSingleDeXilie_xsaz(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -1738,7 +1758,7 @@ def getSingleDeXilie_xsaz(debh):
             CLBH = filtered2_.iloc[0]["PBBH"]
             CLMC = filtered2_.iloc[0]["PBMC"]
             JLDW = filtered2_.iloc[0]["DW"]
-            YSJG = filtered2_.iloc[0]["PBDJ"]
+            YSJG = filtered2_.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH.item()
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -1747,14 +1767,14 @@ def getSingleDeXilie_xsaz(debh):
             clde_["HJ"] = HJ.item()
             clde.append(clde_)
         elif len(filtered2) > 0 and len(filtered2_) > 0:
-            YSJG = filtered2.iloc[0]["YSJG"]
-            YSJG_ = filtered2_.iloc[0]["PBDJ"]
+            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]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -1766,7 +1786,7 @@ def getSingleDeXilie_xsaz(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH.item()
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -1782,7 +1802,7 @@ def getSingleDeXilie_xsaz(debh):
                     CLBH = filtered2.iloc[0]["CLBH"]
                     CLMC = filtered2.iloc[0]["CLMC"]
                     JLDW = filtered2.iloc[0]["JLDW"]
-                    YSJG = filtered2.iloc[0]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -1794,7 +1814,7 @@ def getSingleDeXilie_xsaz(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH.item()
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -1869,7 +1889,7 @@ def getSingleDeXilie_xstj(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -1887,7 +1907,7 @@ def getSingleDeXilie_xstj(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         rgde_["CLBH"] = CLBH
         rgde_["CLMC"] = CLMC
         rgde_["JLDW"] = JLDW
@@ -1910,7 +1930,7 @@ def getSingleDeXilie_xstj(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -1927,7 +1947,7 @@ def getSingleDeXilie_xstj(debh):
         jxbh = entry["jxbh"]
         jxmc = entry["jxmc"]
         DW = entry["DW"]
-        tbdj = entry["tbdj"]
+        tbdj = entry["Csdj"]
         jxde_["jxbh"] = jxbh
         jxde_["jxmc"] = jxmc
         jxde_["DW"] = DW
@@ -1952,7 +1972,7 @@ def getSingleDeXilie_xstj(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -1966,7 +1986,7 @@ def getSingleDeXilie_xstj(debh):
             CLBH = filtered2_.iloc[0]["PBBH"]
             CLMC = filtered2_.iloc[0]["PBMC"]
             JLDW = filtered2_.iloc[0]["DW"]
-            YSJG = filtered2_.iloc[0]["PBDJ"]
+            YSJG = filtered2_.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH.item()
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -1975,14 +1995,14 @@ def getSingleDeXilie_xstj(debh):
             clde_["HJ"] = HJ.item()
             clde.append(clde_)
         elif len(filtered2) > 0 and len(filtered2_) > 0:
-            YSJG = filtered2.iloc[0]["YSJG"]
-            YSJG_ = filtered2_.iloc[0]["PBDJ"]
+            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]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -1994,7 +2014,7 @@ def getSingleDeXilie_xstj(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH.item()
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2011,7 +2031,7 @@ def getSingleDeXilie_xstj(debh):
                     CLBH = filtered2.iloc[0]["CLBH"]
                     CLMC = filtered2.iloc[0]["CLMC"]
                     JLDW = filtered2.iloc[0]["JLDW"]
-                    YSJG = filtered2.iloc[0]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2023,7 +2043,7 @@ def getSingleDeXilie_xstj(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH.item()
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2042,7 +2062,7 @@ def getSingleDeXilie_xstj(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2057,7 +2077,7 @@ def getSingleDeXilie_xstj(debh):
         CLBH = entry["PBBH"]
         CLMC = entry["PBMC"]
         JLDW = entry["DW"]
-        YSJG = entry["PBDJ"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2128,7 +2148,7 @@ def getSingleDeXilie_yl(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -2146,7 +2166,7 @@ def getSingleDeXilie_yl(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         rgde_["CLBH"] = CLBH
         rgde_["CLMC"] = CLMC
         rgde_["JLDW"] = JLDW
@@ -2169,7 +2189,7 @@ def getSingleDeXilie_yl(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -2186,7 +2206,7 @@ def getSingleDeXilie_yl(debh):
         jxbh = entry["jxbh"]
         jxmc = entry["jxmc"]
         DW = entry["DW"]
-        tbdj = entry["tbdj"]
+        tbdj = entry["Csdj"]
         jxde_["jxbh"] = jxbh
         jxde_["jxmc"] = jxmc
         jxde_["DW"] = DW
@@ -2209,7 +2229,7 @@ def getSingleDeXilie_yl(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2224,7 +2244,7 @@ def getSingleDeXilie_yl(debh):
                 CLBH = filtered2.iloc[0]["PBBH"]
                 CLMC = filtered2.iloc[0]["PBMC"]
                 JLDW = filtered2.iloc[0]["DW"]
-                YSJG = filtered2.iloc[0]["PBDJ"]
+                YSJG = filtered2.iloc[0]["Csdj"]
                 clde_["CLBH"] = CLBH.item()
                 clde_["CLMC"] = CLMC
                 clde_["JLDW"] = JLDW
@@ -2242,7 +2262,7 @@ def getSingleDeXilie_yl(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2257,7 +2277,7 @@ def getSingleDeXilie_yl(debh):
         CLBH = entry["PBBH"]
         CLMC = entry["PBMC"]
         JLDW = entry["DW"]
-        YSJG = entry["PBDJ"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2326,7 +2346,7 @@ def getSingleDeXilie_az(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -2344,7 +2364,7 @@ def getSingleDeXilie_az(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         rgde_["CLBH"] = CLBH
         rgde_["CLMC"] = CLMC
         rgde_["JLDW"] = JLDW
@@ -2367,7 +2387,7 @@ def getSingleDeXilie_az(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -2384,7 +2404,7 @@ def getSingleDeXilie_az(debh):
         jxbh = entry["jxbh"]
         jxmc = entry["jxmc"]
         DW = entry["DW"]
-        tbdj = entry["tbdj"]
+        tbdj = entry["Csdj"]
         jxde_["jxbh"] = jxbh
         jxde_["jxmc"] = jxmc
         jxde_["DW"] = DW
@@ -2407,7 +2427,7 @@ def getSingleDeXilie_az(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2422,7 +2442,7 @@ def getSingleDeXilie_az(debh):
                 CLBH = filtered2.iloc[0]["PBBH"]
                 CLMC = filtered2.iloc[0]["PBMC"]
                 JLDW = filtered2.iloc[0]["DW"]
-                YSJG = filtered2.iloc[0]["PBDJ"]
+                YSJG = filtered2.iloc[0]["Csdj"]
                 clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
                 clde_["CLMC"] = CLMC
                 clde_["JLDW"] = JLDW
@@ -2442,7 +2462,7 @@ def getSingleDeXilie_az(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2457,7 +2477,7 @@ def getSingleDeXilie_az(debh):
         CLBH = entry["PBBH"]
         CLMC = entry["PBMC"]
         JLDW = entry["DW"]
-        YSJG = entry["PBDJ"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2528,7 +2548,7 @@ def getSingleDeXilie_sz(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -2546,7 +2566,7 @@ def getSingleDeXilie_sz(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         rgde_["CLBH"] = CLBH
         rgde_["CLMC"] = CLMC
         rgde_["JLDW"] = JLDW
@@ -2569,7 +2589,7 @@ def getSingleDeXilie_sz(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -2586,7 +2606,7 @@ def getSingleDeXilie_sz(debh):
         jxbh = entry["jxbh"]
         jxmc = entry["jxmc"]
         DW = entry["DW"]
-        tbdj = entry["tbdj"]
+        tbdj = entry["Csdj"]
         jxde_["jxbh"] = jxbh
         jxde_["jxmc"] = jxmc
         jxde_["DW"] = DW
@@ -2611,7 +2631,7 @@ def getSingleDeXilie_sz(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2623,7 +2643,7 @@ def getSingleDeXilie_sz(debh):
             CLBH = filtered2_.iloc[0]["PBBH"]
             CLMC = filtered2_.iloc[0]["PBMC"]
             JLDW = filtered2_.iloc[0]["DW"]
-            YSJG = filtered2_.iloc[0]["PBDJ"]
+            YSJG = filtered2_.iloc[0]["Csdj"]
             clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2632,15 +2652,15 @@ def getSingleDeXilie_sz(debh):
             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]["YSJG"]
-            YSJG_ = filtered2_.iloc[0]["PBDJ"]
+            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]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2652,7 +2672,7 @@ def getSingleDeXilie_sz(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2668,7 +2688,7 @@ def getSingleDeXilie_sz(debh):
                     CLBH = filtered2.iloc[0]["CLBH"]
                     CLMC = filtered2.iloc[0]["CLMC"]
                     JLDW = filtered2.iloc[0]["JLDW"]
-                    YSJG = filtered2.iloc[0]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2680,7 +2700,7 @@ def getSingleDeXilie_sz(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = str(CLBH.item()) if type(CLBH) == int64 else CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2698,7 +2718,7 @@ def getSingleDeXilie_sz(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2713,7 +2733,7 @@ def getSingleDeXilie_sz(debh):
         CLBH = entry["PBBH"]
         CLMC = entry["PBMC"]
         JLDW = entry["DW"]
-        YSJG = entry["PBDJ"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2783,7 +2803,7 @@ def getSingleDeXilie_tj(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             rgde_["CLBH"] = CLBH
             rgde_["CLMC"] = CLMC
             rgde_["JLDW"] = JLDW
@@ -2801,7 +2821,7 @@ def getSingleDeXilie_tj(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         rgde_["CLBH"] = CLBH
         rgde_["CLMC"] = CLMC
         rgde_["JLDW"] = JLDW
@@ -2825,7 +2845,7 @@ def getSingleDeXilie_tj(debh):
             jxbh = filtered2.iloc[0]["jxbh"]
             jxmc = filtered2.iloc[0]["jxmc"]
             DW = filtered2.iloc[0]["DW"]
-            tbdj = filtered2.iloc[0]["tbdj"]
+            tbdj = filtered2.iloc[0]["Csdj"]
             jxde_["jxbh"] = jxbh
             jxde_["jxmc"] = jxmc
             jxde_["DW"] = DW
@@ -2842,7 +2862,7 @@ def getSingleDeXilie_tj(debh):
         jxbh = entry["jxbh"]
         jxmc = entry["jxmc"]
         DW = entry["DW"]
-        tbdj = entry["tbdj"]
+        tbdj = entry["Csdj"]
         jxde_["jxbh"] = jxbh
         jxde_["jxmc"] = jxmc
         jxde_["DW"] = DW
@@ -2867,7 +2887,7 @@ def getSingleDeXilie_tj(debh):
             CLBH = filtered2.iloc[0]["CLBH"]
             CLMC = filtered2.iloc[0]["CLMC"]
             JLDW = filtered2.iloc[0]["JLDW"]
-            YSJG = filtered2.iloc[0]["YSJG"]
+            YSJG = filtered2.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2879,7 +2899,7 @@ def getSingleDeXilie_tj(debh):
             CLBH = filtered2_.iloc[0]["PBBH"]
             CLMC = filtered2_.iloc[0]["PBMC"]
             JLDW = filtered2_.iloc[0]["DW"]
-            YSJG = filtered2_.iloc[0]["PBDJ"]
+            YSJG = filtered2_.iloc[0]["Csdj"]
             clde_["CLBH"] = CLBH
             clde_["CLMC"] = CLMC
             clde_["JLDW"] = JLDW
@@ -2888,14 +2908,14 @@ def getSingleDeXilie_tj(debh):
             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]["YSJG"]
-            YSJG_ = filtered2_.iloc[0]["PBDJ"]
+            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]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2907,7 +2927,7 @@ def getSingleDeXilie_tj(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2923,7 +2943,7 @@ def getSingleDeXilie_tj(debh):
                     CLBH = filtered2.iloc[0]["CLBH"]
                     CLMC = filtered2.iloc[0]["CLMC"]
                     JLDW = filtered2.iloc[0]["JLDW"]
-                    YSJG = filtered2.iloc[0]["YSJG"]
+                    YSJG = filtered2.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2935,7 +2955,7 @@ def getSingleDeXilie_tj(debh):
                     CLBH = filtered2_.iloc[0]["PBBH"]
                     CLMC = filtered2_.iloc[0]["PBMC"]
                     JLDW = filtered2_.iloc[0]["DW"]
-                    YSJG = filtered2_.iloc[0]["PBDJ"]
+                    YSJG = filtered2_.iloc[0]["Csdj"]
                     clde_["CLBH"] = CLBH
                     clde_["CLMC"] = CLMC
                     clde_["JLDW"] = JLDW
@@ -2955,7 +2975,7 @@ def getSingleDeXilie_tj(debh):
         CLBH = entry["CLBH"]
         CLMC = entry["CLMC"]
         JLDW = entry["JLDW"]
-        YSJG = entry["YSJG"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW
@@ -2971,7 +2991,7 @@ def getSingleDeXilie_tj(debh):
         CLBH = entry["PBBH"]
         CLMC = entry["PBMC"]
         JLDW = entry["DW"]
-        YSJG = entry["PBDJ"]
+        YSJG = entry["Csdj"]
         clde_["CLBH"] = CLBH
         clde_["CLMC"] = CLMC
         clde_["JLDW"] = JLDW

+ 19 - 2
subdir/util.py

@@ -123,13 +123,18 @@ def huizongrcj(data):
 
 
 def mergerg(rg1, rg2, coef):
-    
+    isolated = []    
     for entry in rg2:
         CLBH = entry['CLBH']
+        hit = False
         for toMerge in rg1:
             if toMerge['CLBH'] == CLBH:
+                hit = True
                 toMerge['gr'] = float(toMerge['gr']) + coef * float(entry['gr'])
                 toMerge['gf'] = float(toMerge['gf']) + coef * float(entry['gf'])
+        if not hit:
+            isolated.append({'CLBH':entry['CLBH'],'CLMC': entry['CLMC'], 'JLDW': entry['JLDW'], 'YSJG': float(entry['YSJG']), 'gr': float(entry['gr']), 'gf': float(entry['gf'])})
+    return rg1 + isolated
 def multirg(rg1, coef):
     
     
@@ -140,12 +145,19 @@ def multirg(rg1, coef):
 
 def mergejx(rg1, rg2, coef):
     
+    isolated = []    
     for entry in rg2:
         jxbh = entry['jxbh']
+        hit = False
         for toMerge in rg1:
             if toMerge['jxbh'] == jxbh:
+                hit = True
                 toMerge['sl'] = float(toMerge['sl']) + coef * float(entry['sl'])
                 toMerge['hj'] = float(toMerge['hj']) + coef * float(entry['hj'])
+        if not hit:
+            isolated.append({'jxbh':entry['jxbh'],'jxmc': entry['jxmc'], 'DW': entry['DW'], 'tbdj': float(entry['tbdj']), 'sl': float(entry['sl']), 'hj': float(entry['hj'])})
+    return rg1 + isolated
+
 def multijx(rg1, coef):
     
     
@@ -156,13 +168,18 @@ def multijx(rg1, coef):
 
 
 def mergecl(rg1, rg2, coef):
-    
+    isolated=[]
     for entry in rg2:
         CLBH = entry['CLBH']
+        hit = False
         for toMerge in rg1:
             if toMerge['CLBH'] == CLBH:
+                hit = True
                 toMerge['SL'] = float(toMerge['SL']) + coef * float(entry['SL'])
                 toMerge['HJ'] = float(toMerge['HJ']) + coef * float(entry['HJ'])
+        if not hit:
+            isolated.append({'CLBH':entry['CLBH'],'CLMC': entry['CLMC'], 'JLDW': entry['JLDW'], 'YSJG': float(entry['YSJG']), 'SL': float(entry['SL']), 'HJ': float(entry['HJ'])})
+    return rg1 + isolated
 def multicl(rg1, coef):
     
     

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels