baoyubo 4 days ago
parent
commit
742951549f
2 changed files with 21 additions and 4 deletions
  1. 2 2
      models/duty_base.py
  2. 19 2
      routers/api/dutyManagement/contact.py

+ 2 - 2
models/duty_base.py

@@ -114,7 +114,7 @@ class EmergencyContactUser(Base):
     position = Column(String(255), comment='职务')
     mobile_phone = Column(String(20), comment='手机号')
     office_phone = Column(String(20), comment='办公电话')
-    department_id = Column(String(255), comment='所属部门')
+    department_id = Column(Integer, comment='所属部门')
     display_order = Column(Integer, comment='显示排序')
     yzy_unitid = Column(String(100), comment='粤政易机构节点 ID')
     userid = Column(String(32), comment='粤政易用户 ID')
@@ -147,7 +147,7 @@ class DutySchedule(Base):
     end_time = Column(DateTime, nullable=False, comment='结束时间')
     duty_date = Column(DateTime, nullable=False, comment='值班日期')
     shift_type = Column(String(50), nullable=False, comment='班次类型(白班、夜班、全日)')
-    duty_unit = Column(String(255), nullable=False, comment='值班单位')
+    duty_unit = Column(Integer, nullable=False, comment='值班单位')
     duty_type = Column(String(50), nullable=False, comment='值班类型(值班排班、自定义排班)')
     del_flag = Column(CHAR(1), default='0', comment='删除标志(0代表存在 2代表删除)')
     create_by = Column(BigInteger, default=None, comment='创建者')

+ 19 - 2
routers/api/dutyManagement/contact.py

@@ -25,6 +25,7 @@ def parent_id_get_contact_dept_list(db,parent_id):
     query = db.query(EmergencyContactDepartment)
     query = query.filter(EmergencyContactDepartment.del_flag != '2')
     query = query.filter(EmergencyContactDepartment.parent_department_id == parent_id)
+    query = query.order_by(EmergencyContactDepartment.display_order,EmergencyContactDepartment.update_time)
     return query.all()
 def yzy_parent_id_get_contact_dept_list(db,parent_id):
     query = db.query(YzyOrgUnitEntity)
@@ -134,13 +135,18 @@ async def create_dict_data(
 ):
     try:
         # 创建一个新的 SysDictData 实例
+        display_order = 0
+        if 'display_order' in body :
+            display_order = body['display_order']
+            if display_order=='':
+                display_order = 0
         new_dict_data = EmergencyContactDepartment(
             parent_department_id=body['parent_department_id'],
             department_name=body['department_name'],
             regionPath=body['regionPath'],
             yzy_unitid=body['yzy_unitid'],
             yzy_regionPath=body['yzy_regionPath'],
-            display_order=body['display_order'],
+            display_order=display_order,
             create_by=user_id
         )
 
@@ -210,6 +216,7 @@ async def delete_dict_data(
 @router.get('/user/list')
 async def get_dict_data_by_type(
     dept_parent_id:int =Query(None),
+    keywords:str =Query(None),
     page: int = Query(1, gt=0),
     pageSize: int = Query(10, gt=0),
     db: Session = Depends(get_db),
@@ -225,6 +232,10 @@ async def get_dict_data_by_type(
         # 添加查询条件
         if dept_parent_id:
             query = query.filter(EmergencyContactUser.department_id==dept_parent_id)
+        if keywords:
+            query = query.filter(or_(EmergencyContactUser.name.like(f'%{keywords}%'),EmergencyContactUser.mobile_phone.like(f'%{keywords}%'),EmergencyContactUser.office_phone.like(f'%{keywords}%')))
+
+        query = query.order_by(EmergencyContactUser.display_order, EmergencyContactUser.update_time.desc())
 
         # 计算总记录数
         total_count = query.count()
@@ -339,13 +350,18 @@ async def create_dict_data(
 ):
     try:
         # 创建一个新的 SysDictData 实例
+        display_order = 0
+        if 'display_order' in body :
+            display_order = body['display_order']
+            if display_order=='':
+                display_order = 0
         new_user_data = EmergencyContactUser(
             name=body['name'],
             position=body['position'],
             mobile_phone=body['mobile_phone'],
             office_phone=body['office_phone'],
             department_id=body['department_id'],
-            display_order=body['display_order'],
+            display_order=display_order,
             yzy_unitid=body['yzy_unitid'],
             userid=body['userid'],
             create_by=user_id
@@ -395,6 +411,7 @@ async def updata_dict_type(
         user_data.name=body['name']
         user_data.position = body['position']
         user_data.mobile_phone = body['mobile_phone']
+        user_data.office_phone = body['office_phone']
         user_data.position = body['position']
         user_data.department_id = body['department_id']
         user_data.display_order = body['display_order']