|
@@ -196,84 +196,128 @@ async def get_dict_data_by_type(
|
|
|
})
|
|
|
|
|
|
|
|
|
-#
|
|
|
-# @router.post('/create')
|
|
|
-# async def create_dict_data(
|
|
|
-# db: Session = Depends(get_db),
|
|
|
-# body = Depends(remove_xss_json),
|
|
|
-# user_id = Depends(valid_access_token)
|
|
|
-# ):
|
|
|
-# try:
|
|
|
-# # 创建一个新的 SysDictData 实例
|
|
|
-# new_position_data = DutySchedule(
|
|
|
-# sort_number=body['sort_number'],
|
|
|
-# position_name=body['position_name'],
|
|
|
-# type=body['type'],
|
|
|
-# create_by=user_id
|
|
|
-# )
|
|
|
-#
|
|
|
-# # 添加到会话并提交
|
|
|
-# db.add(new_position_data)
|
|
|
-# db.commit()
|
|
|
-#
|
|
|
-# # 构建返回结果
|
|
|
-# result = {
|
|
|
-# "code": 200,
|
|
|
-# "msg": "操作成功",
|
|
|
-# "data": None
|
|
|
-# }
|
|
|
-# return result
|
|
|
-# except Exception as e:
|
|
|
-# # 处理异常
|
|
|
-# traceback.print_exc()
|
|
|
-# return JSONResponse(status_code=404, content={
|
|
|
-# 'code': 404,
|
|
|
-# 'msg': str(e)
|
|
|
-# })
|
|
|
-#
|
|
|
-#
|
|
|
-# @router.put("/update")
|
|
|
-# async def updata_dict_type(
|
|
|
-# db: Session = Depends(get_db),
|
|
|
-# body = Depends(remove_xss_json),
|
|
|
-# user_id = Depends(valid_access_token)
|
|
|
-# ):
|
|
|
-# try:
|
|
|
-# # 从请求数据创建一个新的 SysDictType 实例
|
|
|
-# query = db.query(DutySchedule)
|
|
|
-# query = query.filter(DutySchedule.id == body['id'])
|
|
|
-# query = query.filter(DutySchedule.del_flag != '2')
|
|
|
-#
|
|
|
-# # query = db.query(SysDictData).filter(SysDictData.dict_code == form_data.dictCode)
|
|
|
-# # query = db.query(SysDictData).filter(SysDictData.del_flag != '2')
|
|
|
-#
|
|
|
-# position_data = query.first()
|
|
|
-# if not position_data:
|
|
|
-# return JSONResponse(status_code=404, content={
|
|
|
-# 'errcode': 404,
|
|
|
-# 'errmsg': '岗位不存在'
|
|
|
-# })
|
|
|
-# position_data.sort_number=body['sort_number']
|
|
|
-# position_data.position_name = body['position_name']
|
|
|
-# position_data.type = body['type']
|
|
|
-# position_data.update_by = user_id
|
|
|
-# # 添加到数据库会话并提交
|
|
|
-# db.commit()
|
|
|
-# # db.refresh(new_dict_type) # 可选,如果需要刷新实例状态
|
|
|
-#
|
|
|
-# # 构建并返回响应
|
|
|
-# return {
|
|
|
-# "code": 200,
|
|
|
-# "msg": "操作成功",
|
|
|
-# "data": None # 根据你的响应示例,data 为 null
|
|
|
-# }
|
|
|
-# except Exception as e:
|
|
|
-# # 处理异常
|
|
|
-# traceback.print_exc()
|
|
|
-# return JSONResponse(status_code=404, content={
|
|
|
-# 'code': 404,
|
|
|
-# 'msg': str(e)
|
|
|
-# })
|
|
|
+
|
|
|
+@router.post('/create')
|
|
|
+async def create_dict_data(
|
|
|
+ db: Session = Depends(get_db),
|
|
|
+ body = Depends(remove_xss_json),
|
|
|
+ user_id = Depends(valid_access_token)
|
|
|
+):
|
|
|
+ try:
|
|
|
+ # 创建一个新的 SysDictData 实例
|
|
|
+ user_data = body['user_data']
|
|
|
+ if len(user_data)==0:
|
|
|
+ return JSONResponse(status_code=404, content={
|
|
|
+ 'errcode': 404,
|
|
|
+ 'errmsg': '值班人员不能为空'
|
|
|
+ })
|
|
|
+ new_duty_data = DutySchedule(
|
|
|
+ start_time=body['start_time'],
|
|
|
+ end_time=body['end_time'],
|
|
|
+ duty_date=body['duty_date'],
|
|
|
+ shift_type=body['shift_type'],
|
|
|
+ duty_unit=body['duty_unit'],
|
|
|
+ duty_type=body['duty_type'],
|
|
|
+ create_by=user_id
|
|
|
+ )
|
|
|
+
|
|
|
+ # 添加到会话并提交
|
|
|
+ db.add(new_duty_data)
|
|
|
+ db.commit()
|
|
|
+ db.refresh(new_duty_data)
|
|
|
+ user_list = []
|
|
|
+ for user_info in user_data:
|
|
|
+ user_list.appent( DutyPersonnelArrangement(
|
|
|
+ duty_id=new_duty_data.id,
|
|
|
+ position_id=user_info['position_id'],
|
|
|
+ personnel_id=user_info['personnel_id'],
|
|
|
+ create_by=user_id
|
|
|
+ ))
|
|
|
+ db.add_all(user_list)
|
|
|
+ db.commit()
|
|
|
+ # 构建返回结果
|
|
|
+ result = {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "操作成功",
|
|
|
+ "data": None
|
|
|
+ }
|
|
|
+ return result
|
|
|
+ except Exception as e:
|
|
|
+ # 处理异常
|
|
|
+ traceback.print_exc()
|
|
|
+ return JSONResponse(status_code=404, content={
|
|
|
+ 'code': 404,
|
|
|
+ 'msg': str(e)
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+@router.put("/update")
|
|
|
+async def updata_dict_type(
|
|
|
+ db: Session = Depends(get_db),
|
|
|
+ body = Depends(remove_xss_json),
|
|
|
+ user_id = Depends(valid_access_token)
|
|
|
+):
|
|
|
+ try:
|
|
|
+ # 从请求数据创建一个新的 SysDictType 实例
|
|
|
+ query = db.query(DutySchedule)
|
|
|
+ query = query.filter(DutySchedule.id == body['id'])
|
|
|
+ query = query.filter(DutySchedule.del_flag != '2')
|
|
|
+
|
|
|
+ # query = db.query(SysDictData).filter(SysDictData.dict_code == form_data.dictCode)
|
|
|
+ # query = db.query(SysDictData).filter(SysDictData.del_flag != '2')
|
|
|
+ duty_data = query.first()
|
|
|
+
|
|
|
+ old_user_list = duty_id_get_user_id(db,duty_data.id)
|
|
|
+ for info in old_user_list:
|
|
|
+ info.del_flag = '2'
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ user_data = body['user_data']
|
|
|
+ if len(user_data)==0:
|
|
|
+ return JSONResponse(status_code=404, content={
|
|
|
+ 'errcode': 404,
|
|
|
+ 'errmsg': '值班人员不能为空'
|
|
|
+ })
|
|
|
+ user_list = []
|
|
|
+ for user_info in user_data:
|
|
|
+ user_list.appent(DutyPersonnelArrangement(
|
|
|
+ duty_id=duty_data.id,
|
|
|
+ position_id=user_info['position_id'],
|
|
|
+ personnel_id=user_info['personnel_id'],
|
|
|
+ create_by=user_id
|
|
|
+ ))
|
|
|
+ db.add_all(user_list)
|
|
|
+
|
|
|
+
|
|
|
+ if not dutyn_data:
|
|
|
+ return JSONResponse(status_code=404, content={
|
|
|
+ 'errcode': 404,
|
|
|
+ 'errmsg': '值班不存在'
|
|
|
+ })
|
|
|
+ duty_data.start_time=body['start_time']
|
|
|
+ duty_data.end_time = body['end_time']
|
|
|
+ duty_data.duty_date = body['duty_date']
|
|
|
+ duty_data.shift_type=body['shift_type']
|
|
|
+ duty_data.duty_unit = body['duty_unit']
|
|
|
+ duty_data.duty_type = body['duty_type']
|
|
|
+ duty_data.update_by = user_id
|
|
|
+ # 添加到数据库会话并提交
|
|
|
+ db.commit()
|
|
|
+ # db.refresh(new_dict_type) # 可选,如果需要刷新实例状态
|
|
|
+
|
|
|
+ # 构建并返回响应
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "操作成功",
|
|
|
+ "data": None # 根据你的响应示例,data 为 null
|
|
|
+ }
|
|
|
+ except Exception as e:
|
|
|
+ # 处理异常
|
|
|
+ traceback.print_exc()
|
|
|
+ return JSONResponse(status_code=404, content={
|
|
|
+ 'code': 404,
|
|
|
+ 'msg': str(e)
|
|
|
+ })
|
|
|
|
|
|
|
|
|
|
|
@@ -295,7 +339,7 @@ async def delete_dict_data(
|
|
|
if not position_data:
|
|
|
return JSONResponse(status_code=404, content={
|
|
|
'code': 404,
|
|
|
- 'msg': '值班岗位不存在'
|
|
|
+ 'msg': '值班不存在'
|
|
|
})
|
|
|
position_data.del_flag = '2'
|
|
|
# 删除实例
|