node-red/test_crud.py
Your Name 73989d6b9a test
2025-11-17 16:13:27 +08:00

34 lines
10 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import json
import sys
from pathlib import Path
import requests
URL = "http://127.0.0.1:5052/crud_test"
TIMEOUT = 600 # seconds
def load_body():
return {"dms_schema":{"$id":"https://schema.ideas.cnpc/json/core-data/cd_well.1.0.0.json","type":"Object","title":"","schema":"http://json-schema.org/draft-07/schema#","required":["bsflag","dataRegion","createUserId","orgId","wellPurpose","createDate","wellLegalName","dsid","wellType","updateUserId","updateDate","wellId","wellCommonName","projectId"],"groupView":[{"name":"groupByWellCommonName","group":["dataRegion","wellCommonName","wellId"]},{"name":"groupByPlatformName","group":["dataRegion","platformName"]}],"identityId":["dsid"],"naturalKey":["dataRegion","wellCommonName"],"properties":{"kb":{"type":"number","title":"补心海拔","description":"海拔(高程),补心海拔=地面海拔+补心高"},"egl":{"type":"number","title":"地面海拔","description":"地面海拔"},"kbd":{"type":"number","title":"补心高度","description":"补心高度"},"dsid":{"type":"string","title":"DSID","description":"主键ID"},"orgId":{"type":"string","title":"机构ID","description":"单位唯一标识符关联CD_ORGANIZATION的主键"},"bsflag":{"type":"number","title":"删除标识","description":"填写数据逻辑删除标识1=在用,-5=废弃"},"canton":{"type":"string","title":"行政区名称","description":"填写行政区代码对应的行政区名称"},"siteId":{"type":"string","title":"物探工区ID","description":"物探工区ID"},"wellId":{"type":"string","title":"井ID","description":"井标识符非限定唯一。由EPDM系统自动产生维护无需人工干预是用于唯一标识EPDM系统的每一口井的内部机器码"},"orgName":{"type":"string","title":"机构名称","description":"单位名称,必填"},"remarks":{"type":"string","title":"备注","description":"备注"},"prodDate":{"type":"date","title":"投产日期","description":"投产日期"},"siteName":{"type":"string","title":"物探工区名称","description":"物探工区名称"},"spudDate":{"type":"date","title":"开钻日期","description":"主井筒的开钻日期"},"wellDesc":{"type":"string","title":"曾用名","description":"填写这口井的曾用名"},"wellType":{"type":"string","title":"井型","description":"属性规范值字段引用属性代码WELL_TYPE下的属性值"},"checkDate":{"type":"date","title":"审核日期","description":"记录数据在本系统的审核时间,需精确到时分秒"},"dataGroup":{"type":"string","title":"数据分组","description":"数据分组"},"projectId":{"type":"string","title":"地质单元ID","description":"地质单元唯一标识符根据井别不同选择关联构造单元探井还是油气田单元开发井关联CD_GEO_UNIT表的主键"},"stationId":{"type":"string","title":"站库ID","description":"站库ID"},"wellState":{"type":"string","title":"井状态","description":"井状态"},"activityId":{"type":"string","title":"项目ID","description":"项目唯一标示符关联CD_ACTIVITY表的主键"},"cantonCode":{"type":"string","title":"行政区代码","description":"属性规范值字段引用属性代码CANTON下的属性值"},"createDate":{"type":"date","title":"创建日期","description":"记录数据在本系统的创建时间,需精确到时分秒"},"dataRegion":{"type":"string","title":"油田标识","description":"油田标识"},"dataSource":{"type":"string","title":"数据来源","description":"填写数据来源的表CODE"},"desgWellId":{"type":"string","title":"设计井ID","description":"设计井的唯一标识"},"energyType":{"type":"string","title":"能源类型","description":"描述本井生产的油气资源类型,如煤层气、致密气、页岩气等"},"platformId":{"type":"string","title":"平台ID","description":"平台ID"},"updateDate":{"type":"date","title":"更新日期","description":"记录数据在本系统最新的更新时间,需精确到时分秒,默认=创建时间"},"wellTypeId":{"type":"string","title":"井型ID","description":"属性规范值字段引用属性代码WELL_TYPE下的属性值"},"abandonDate":{"type":"date","title":"报废日期","description":"报废日期"},"abondonType":{"type":"string","title":"报废类型","description":"报废类型"},"actualXAxis":{"geom":"Point.x.actual","mask":"coordinate","type":"number","title":"实际X坐标,实际X坐标"},"actualYAxis":{"geom":"Point.y.actual","mask":"coordinate","type":"number","title":"实际Y坐标,实际Y坐标"},"checkUserId":{"type":"string","title":"审核用户","description":"记录数据在本系统的审核用户"},"createAppId":{"type":"string","title":"创建应用","description":"填写数据来源的系统名"},"designXAxis":{"geom":"Point.x.design","mask":"coordinate","type":"number","title":"设计X坐标,设计X坐标"},"designYAxis":{"geom":"Point.y.design","mask":"coordinate","type":"number","title":"设计Y坐标,设计Y坐标"},"projectName":{"type":"string","title":"地质单元名称","description":"地质单元名称,填写地质单元的中文名称,该名称在整个油田公司内不能重名,必填"},"stationName":{"type":"string","title":"站库名称","description":"站库名称,必填"},"wellPurpose":{"type":"string","title":"井别","description":"属性规范值字段引用属性代码WELL_PURPOSE下的属性值"},"activityName":{"type":"string","title":"项目名称","description":"项目名称,必填"},"completionMd":{"type":"number","title":"完钻井深","description":"完钻井深"},"createUserId":{"type":"string","title":"创建用户","description":"记录数据在本系统的创建用户"},"keyWellLevel":{"type":"string","title":"重点井级别","description":"重点井级别"},"platformName":{"type":"string","title":"平台名称","description":"平台名称"},"sourceDataId":{"type":"string","title":"源库ID标识","description":"存储数据来源的主键信息"},"structurePos":{"type":"string","title":"构造位置","description":"构造位置的描述"},"updateUserId":{"type":"string","title":"更新用户","description":"记录数据在本系统最新的更新用户,默认=创建用户"},"geoOffsetEast":{"geom":"Point.x.wellhead","mask":"coordinate","type":"number","title":"井口横坐标"},"seismicLineNo":{"type":"string","title":"井旁地震测线号","description":"井旁地震测线号(勘探井)"},"wellLegalName":{"type":"string","title":"拼音井号","description":"规范的井号名称,井号名称命名规范请参考《主数据库技术标准》"},"wellPurposeId":{"type":"string","title":"井别ID","description":"属性规范值字段引用属性代码WELL_PURPOSE下的属性值"},"completionDate":{"type":"date","title":"完井日期","description":"完井日期"},"geoDescription":{"type":"string","title":"地理位置","description":"地理位置的描述"},"geoOffsetNorth":{"geom":"Point.y.wellhead","mask":"coordinate","type":"number","title":"井口纵坐标"},"wellCommonName":{"type":"string","title":"井名","description":"通用井名,来源于钻井公报的汉字井名,必填"},"endDrillingDate":{"type":"date","title":"完钻日期","description":"最后一个井筒的完钻日期"},"targetFormation":{"type":"string","title":"目的层","description":"目的层"},"completionMethod":{"type":"string","title":"完井方法","description":"完井方法"},"registrationDate":{"type":"date","title":"注册日期","description":"井位通知单下达日期"},"sourceCreateDate":{"type":"date","title":"源头数据采集时间","description":"记录源头系统采集数据的时间"},"coordinateSystemId":{"geom":"Point.srid.wellhead,Point.srid.design,Point.srid.actual","type":"string","title":"坐标系统ID","description":"坐标系统的唯一标示符"},"completionFormation":{"type":"string","title":"钻井完钻层位","description":"钻井完钻层位"},"coordinateSystemName":{"type":"string","title":"坐标系名称","description":"坐标系名称"},"wellbaseGeoOffsetEast":{"type":"number","title":"井底横坐标","description":"井底横坐标"},"wellbaseGeoOffsetNorth":{"type":"number","title":"井底纵坐标","description":"井底纵坐标"}},"defaultShow":["wellCommonName"]},"dms_meta":{"flow_state":"5","domain":"wb_cd","name":"cd_well","add_tree":"Y","id":"cd_well.1.0.0","create_user":"admin","title":"井基本信息","type":"master-data","version":"1.0.0","update_date":"2025-10-2110:45:38","tags":["主数据"]}}
def main():
body = load_body()
resp = requests.post(
URL,
json=body,
timeout=TIMEOUT,
headers={"Content-Type": "application/json"},
proxies={"http": None, "https": None}
)
print(f"Status: {resp.status_code}")
try:
print(json.dumps(resp.json(), ensure_ascii=False, indent=2))
except ValueError:
print(resp.text)
if __name__ == "__main__":
main()