Parcourir la source

250218-1代码。

baoyubo il y a 3 mois
Parent
commit
3f223603da

+ 1 - 0
models/three_proofing_responsible_base.py

@@ -9,6 +9,7 @@ class ThreeProofingResponsiblePerson(Base):
     unit_id = Column(Integer, comment='单位ID')
     unit_name = Column(String(255), nullable=False, comment='单位名称')
     name = Column(String(255), nullable=False, comment='联系人')
+    area_code2 = Column(String(255), nullable=False, comment='区划编码')
     area_code = Column(String(255), nullable=False, comment='区划编码')
     position = Column(String(255), nullable=True, comment='职务')
     phone = Column(String(50),  comment='手机号码')

+ 18 - 3
routers/api/ThreeProofingResponsible/person.py

@@ -39,6 +39,9 @@ async def create_contact(
         unit_name = body['unit_name']
         name = body['name']
         area_code = body['area_code']
+        area_info = id_get_area_info(db, body['area_code'])
+        if area_info:
+            area_code2 = area_info.area_code
         position = body['position']
         phone = body['phone']
         telephone= ''
@@ -54,6 +57,7 @@ async def create_contact(
             unit_id=unit_id,
             unit_name=unit_name,
             name=name,
+            area_code2=area_code2,
             area_code=area_code,
             position=position,
             phone=phone,
@@ -151,6 +155,9 @@ async def update_contact(
         person.unit_name = body['unit_name']
         person.name = body['name']
         person.area_code = body['area_code']
+        area_info = id_get_area_info(db, body['area_code'])
+        if area_info:
+            person.area_code2 = area_info.area_code
         person.position = body['position']
         person.phone = body['phone']
         if 'telephone' in body:
@@ -255,9 +262,15 @@ async def get_emergency_contact_list(
                     get_area_chli(area_list, area.id)
             return area_list
 
+        # if area_code:
+        #     query = query.filter(ThreeProofingResponsiblePerson.area_code.in_(get_area_chli([area_code],area_code)))
+        # '''440900000000'''
         if area_code:
-            query = query.filter(ThreeProofingResponsiblePerson.area_code.in_(get_area_chli([area_code],area_code)))
-
+            area_info = id_get_area_info(db,area_code)
+            if area_info:
+                area_code = area_info.area_code
+                area_code=area_code.replace('0000000000','').replace('00000000','').replace('000000','').replace('000','')
+                query = query.filter(ThreeProofingResponsiblePerson.area_code2.like(f'%{area_code}%') )
         # if area_code:
         #     query = query.filter(ThreeProofingResponsiblePerson.area_code==area_code)
 
@@ -561,17 +574,19 @@ def import_data(db,file_path,user_id,file_info):
         area_name = sheet.cell(row, 7).value
         if area_name=='':
             area_code=2
+            area_code2='440900000000'
         else:
             area_code=get_area_info_by_area_name(db,area_name)
             if area_code is None:
                 file_info.remark = file_info.remark+f'\n行<{row+1}>责任区域未找到'
                 import_status = False
             area_code = area_code.id
-
+            area_code2 = area_code.area_code
         new_person = ThreeProofingResponsiblePerson(
             unit_id=unit_id,
             unit_name=unit_name,
             name=name,
+            area_code2=area_code2,
             area_code=area_code,
             position=position,
             phone=phone,