sharedb.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. # -*- coding: utf-8 -*-
  2. from sqlalchemy import String, Column, Integer, DateTime,Text,BigInteger,Float,Date,TIMESTAMP
  3. from sqlalchemy.dialects.mysql import TINYINT
  4. from sqlalchemy.sql import func
  5. from database import Base
  6. from datetime import datetime
  7. # 危化企业信息表
  8. class ChemicalCompany(Base):
  9. __tablename__ = 'chemical_company'
  10. id = Column(BigInteger, primary_key=True,autoincrement=True, comment='主键')
  11. province = Column(String, default='', comment='省')
  12. city = Column(String, default='', comment='地市')
  13. area = Column(String, default='', comment='区县')
  14. company_name = Column(String, default='', comment='企业名称')
  15. company_code = Column(String, default='', comment='企业编码')
  16. company_type = Column(String, default='', comment='企业类型')
  17. is_import = Column(String, default='', comment='是否涉及进口')
  18. is_manage = Column(String, default='', comment='是否涉及经营')
  19. registration_date = Column(String, default='', comment='工商注册时间')
  20. registration_address = Column(String, default='', comment='工商注册地址')
  21. credit_code = Column(String, default='', comment='统一社会信用代码')
  22. industry_classification = Column(String, default='', comment='行业分类')
  23. production_scale = Column(Text, default='', comment='主要产品及生产规模')
  24. chemical_park_location = Column(String, default='', comment='所在化工园区')
  25. emergency_contact_number = Column(String, default='', comment='安全值班电话')
  26. emergency_response_hotline = Column(String, default='', comment='应急咨询服务电话')
  27. qyagjgfzr_phone = Column(String, default='', comment='企业安管机构负责人手机号')
  28. qyfgaqfzr_phone = Column(String, default='', comment='企业分管安全负责人手机号')
  29. sfqdwxhxpaqscxkz = Column(String, default='', comment='是否取得危险化学品安全生产许可证')
  30. xkzbh = Column(String, default='', comment='许可证编号')
  31. sfqdwxhxpjyxkz = Column(String, default='', comment='是否取得危险化学品经营许可证')
  32. sfqdwxhxpsyxkz = Column(String, default='', comment='是否取得危险化学品使用许可证')
  33. factory_address = Column(String, default='', comment='厂区地址')
  34. hazard_source = Column(Text, default='', comment='重大危险源')
  35. hazardous_chemical_process = Column(Text, default='', comment='危险化工工艺')
  36. issuance_date = Column(String, default='', comment='发证日期')
  37. certificate_expiry_date = Column(String, default='', comment='证书有效期')
  38. company_registration_number = Column(String, default='', comment='企业登记证编码')
  39. number_of_employees = Column(Integer, default='0', comment='职工人数')
  40. deregistration_date = Column(String, default='', comment='注销时间')
  41. scale_of_enterprise = Column(String, default='', comment='企业规模')
  42. chemical_industry_classification = Column(String, default='', comment='化工行业分类')
  43. safe_level = Column(String, default='', comment='安全标准化等级')
  44. priority = Column(String, default='', comment='重点行业')
  45. longitude = Column(Float, comment='经度')
  46. latitude = Column(Float, comment='纬度')
  47. formatted_address = Column(String, default='', comment='地址')
  48. s_last_updatetime = Column(DateTime, comment='更新时间')
  49. sign = Column(String, server_default='', default='', comment='HMACSM3数值')
  50. class Config:
  51. orm_mode = True
  52. # 建筑工程信息表
  53. class BuildingProjectInfo(Base):
  54. __tablename__ = 'building_project_info'
  55. id = Column(BigInteger, primary_key=True,autoincrement=True, comment='主键')
  56. prjcode = Column(String, default='', comment='项目编号')
  57. prjname = Column(String, default='', comment='项目名称')
  58. prjnum = Column(String, default='', comment='投资项目在线审批监管平台统一项目代码')
  59. letternum = Column(String, default='', comment='立项文号')
  60. prjlevel = Column(String, default='', comment='立项级别')
  61. issueby = Column(String, default='', comment='立项批复机关')
  62. dtissue = Column(DateTime, comment='立项批复时间')
  63. prjtypename = Column(String, default='', comment='项目类型')
  64. cityid = Column(String, default='', comment='项目所在地区编码(地市)')
  65. cityname = Column(String, default='', comment='项目所在地区名称(地市)')
  66. countyid = Column(Integer, comment='项目所在地区编码(县区)')
  67. countyname = Column(String, default='', comment='项目所在地区名称(县区)')
  68. address = Column(String, default='', comment='项目地址')
  69. longitude = Column(Float, comment='经度')
  70. latitude = Column(String, comment='纬度')
  71. prjsizedes = Column(String, default='', comment='建设规模')
  72. allinvest = Column(Float, default='', comment='总投资(万元)')
  73. allarea = Column(Float, comment='总面积(平方米)')
  74. alllength = Column(Float, comment='总长度(米)')
  75. allspan = Column(Float, comment='总跨度(米)')
  76. prjpropertyname = Column(String, default='', comment='建设性质')
  77. prjusefor = Column(String, default='', comment='工程用途')
  78. dtplans = Column(DateTime, comment='计划开工日期')
  79. dtplane = Column(DateTime, comment='计划竣工日期')
  80. ownername = Column(String, default='', comment='建设单位')
  81. ownerid = Column(String, default='', comment='建设单位统一信用代码(或个人身份证号码)')
  82. zjlygjzfczzjtz = Column(Float, comment='资金来源-各级政府财政资金投资')
  83. zjlygyqyzjtz = Column(Float, comment='资金来源-国有企业资金投资')
  84. zjlygjrz = Column(Float, comment='资金来源-国家融资')
  85. zjlysygjzzhzwgzfzj = Column(Float, comment='资金来源-使用国际组织或外国政府资金')
  86. zjlyjtjjzztz = Column(Float, comment='资金来源-集体经济组织投资')
  87. zjlywstz = Column(Float, comment='资金来源-外商(国)投资')
  88. zjlyggttz = Column(Float, comment='资金来源-港澳台投资')
  89. zjlysytz = Column(Float, comment='资金来源-私(民)营投资')
  90. zjlyqtzjly = Column(Float, comment='资金来源-其他资金来源')
  91. add_time = Column(DateTime, comment='新增时间')
  92. cd_time = Column(DateTime, comment='增量时间')
  93. cd_operation = Column(String, default='', comment='增量标识')
  94. cd_batch = Column(String, default='', comment='批次号')
  95. sign = Column(String, server_default='', default='', comment='HMACSM3数值')
  96. class Config:
  97. orm_mode = True
  98. class EmergencyExpertInfo(Base):
  99. __tablename__ = 'emergency_expert_info'
  100. id = Column(Integer, primary_key=True, autoincrement=True, comment='序号')
  101. name = Column(String(255), nullable=False, comment='姓名')
  102. county = Column(String(255), comment='所属区县')
  103. expert_type = Column(String(255), comment='专家类型')
  104. honorary_title = Column(String(255), comment='荣誉称号')
  105. unit = Column(String(255), comment='单位')
  106. position = Column(String(255), comment='职位')
  107. professional_title = Column(String(255), comment='职称')
  108. specialty = Column(String(255), comment='擅长事故类型')
  109. rescue_experience = Column(Text, comment='救援经历')
  110. birth_date = Column(Date, comment='出生日期')
  111. work_start_date = Column(Date, comment='工作时间')
  112. certificate_issue_date = Column(Date, comment='发证日期')
  113. professional_group = Column(String(255), comment='专业分组')
  114. professional_field = Column(String(255), comment='专业领域')
  115. work_phone = Column(String(20), comment='工作电话')
  116. home_phone = Column(String(20), comment='住宅电话')
  117. mobile_phone = Column(String(20), comment='移动电话')
  118. email = Column(String(255), comment='电子邮箱')
  119. contact_address = Column(String(255), comment='联系地址')
  120. longitude = Column(Float, comment='经度')
  121. latitude = Column(Float, comment='纬度')
  122. class RescueTeams(Base):
  123. __tablename__ = 'rescue_teams'
  124. id = Column(Integer, primary_key=True, autoincrement=True, comment='ID')
  125. name = Column(String(255), nullable=False, comment='名称')
  126. team_type = Column(String(100), comment='救援单位类型')
  127. professional_category = Column(String(1000), comment='队伍专业类别')
  128. team_category = Column(String(100), comment='队伍类别')
  129. team_attribute = Column(String(100), comment='队伍属性')
  130. team_level = Column(String(100), comment='队伍层级')
  131. affiliated_unit = Column(String(255), comment='所属单位')
  132. leader_name = Column(String(100), comment='负责人姓名')
  133. leader_phone = Column(String(255), comment='负责人联系电话')
  134. city = Column(String(100), comment='地市')
  135. district = Column(String(100), comment='区县')
  136. main_equipment = Column(String(500), comment='主要装备')
  137. number_of_people = Column(Integer, comment='人数')
  138. address = Column(String(255), comment='地址')
  139. description = Column(Text, comment='描述')
  140. longitude = Column(Float, comment='经度')
  141. latitude = Column(Float, comment='纬度')
  142. s_last_updatetime = Column(DateTime, comment='最后更新时间')
  143. del_flag = Column(String(2), comment='删除标识,0未删除,2删除')
  144. create_by = Column(String(255), comment='创建者')
  145. create_time = Column(DateTime, comment='创建时间')
  146. update_by = Column(String(255), comment='更新者')
  147. class YzyMsgQueueSk(Base):
  148. """
  149. 粤政易消息队列(数科)
  150. """
  151. __tablename__ = "yzy_msg_queue_sk"
  152. id = Column(Integer, primary_key=True, autoincrement=True)
  153. request_id = Column(String, default='', server_default='', comment='消息ID')
  154. yzy_userid = Column(String, default='', server_default='', comment='粤政易用户ID')
  155. title = Column(String, default='', server_default='', comment='标题')
  156. content = Column(Text, default='', server_default='', comment='消息体')
  157. detail_url = Column(String, default='', server_default='', comment='跳转URL')
  158. create_time = Column(DateTime, server_default=func.now(), comment='数据创建时间')
  159. sent_time = Column(String, comment='发送时间')
  160. sent_status = Column(Integer, default=0, server_default='0', comment='发送状态 0 待发 1发送中 2 发送成功 9 发送失败')
  161. errcode = Column(Integer, default=0, server_default='0', comment='错误代码')
  162. errmsg = Column(String, default='', server_default='', comment='错误提示')
  163. class Config:
  164. orm_mode = True
  165. class MiningCompany(Base):
  166. __tablename__ = 'mining_company'
  167. id = Column(Integer, primary_key=True, comment='id')
  168. company_name = Column(String(255), comment='矿山企业名称')
  169. usci = Column(String(18), comment='企业统一社会信用代码')
  170. province = Column(String(50), comment='省')
  171. city = Column(String(50), comment='市')
  172. area = Column(String(50), comment='县')
  173. production_status = Column(String(50), comment='生产状态')
  174. primary_mineral_types = Column(String(50), comment='主要矿种')
  175. mining_method = Column(String(50), comment='开采方式')
  176. development_method = Column(String(50), comment='开拓方式')
  177. scale = Column(String(50), comment='矿山规模')
  178. name = Column(String(50), comment='姓名')
  179. phone = Column(String(20), comment='联系方式')
  180. longitude = Column(Float, comment='经度')
  181. latitude = Column(Float, comment='纬度')
  182. formatted_address = Column(String(255), comment='地址')
  183. safety_mgmt_headcount = Column(Integer, comment='安全管理人数')
  184. mining_license_start = Column(Date, comment='采矿证起始日期')
  185. mining_license_end = Column(Date, comment='采矿证失效日期')
  186. production_capacity = Column(String(100), comment='生产规模')
  187. mining_area = Column(Float, comment='矿区面积(km²)')
  188. safety_license_start = Column(Date, comment='安全生产许可证起始日期')
  189. safety_license_end = Column(Date, comment='安全生产许可证失效日期')
  190. safety_license_no = Column(String(50), comment='安全生产许可证证号')
  191. license_scope = Column(Text, comment='许可范围')
  192. issuing_authority = Column(String(100), comment='发证单位')
  193. economic_type = Column(String(50), comment='企业经济类型')
  194. business_scope = Column(Text, comment='生产经营范围')
  195. seismic_intensity = Column(String(10), comment='地震烈度')
  196. net_fixed_assets = Column(Float, comment='固定资产净值(万元)')
  197. max_underground_headcount = Column(Integer, comment='设计最大单班下井人数')
  198. safety_staff_count = Column(Integer, comment='安全管理人员数量')
  199. daily_production_staff = Column(Integer, comment='日常生产人员数量')
  200. special_operation_staff = Column(Integer, comment='特种作业人员数量')
  201. hydrogeological_condition = Column(String(50), comment='水文地质条件')
  202. safety_risk_level = Column(String(20), comment='安全风险等级')
  203. remark = Column(Text, comment='备注')
  204. s_last_updatetime = Column(TIMESTAMP, server_default=func.current_timestamp(), comment='最后更新时间')
  205. class MiningAccidentDetail(Base):
  206. __tablename__ = 'mining_accident_detail'
  207. id = Column(BigInteger, primary_key=True, comment='主键')
  208. accident_name = Column(String(200), comment='事故名称')
  209. company_name = Column(String(200), comment='事发企业')
  210. district = Column(String(100), comment='区县')
  211. longitude = Column(Float, comment='经度') # 9位小数,可按需调整
  212. latitude = Column(Float, comment='纬度')
  213. accident_type = Column(String(50), comment='事故类别')
  214. mgmt_category = Column(String(50), comment='管理分类')
  215. sector = Column(String(50), comment='门类')
  216. major_category = Column(String(50), comment='大类')
  217. accident_summary = Column(Text, comment='事故概况')
  218. accident_level = Column(String(20), comment='事故等级')
  219. accident_time = Column(DateTime, comment='事发时间')
  220. accident_cause = Column(Text, comment='事发原因')
  221. secondary_accident = Column(String(50), default='0', comment='次生衍生事故')
  222. accident_location = Column(String(255), comment='事发地点')
  223. injured_count = Column(Integer, default=0, comment='受伤人数')
  224. missing_count = Column(Integer, default=0, comment='失踪人数')
  225. death_count = Column(Integer, default=0, comment='死亡人数')
  226. direct_economic_loss = Column(Float, default=0.00, comment='直接经济损失(万元)')
  227. disposal_process = Column(Text, comment='处置过程')
  228. remark = Column(Text, comment='备注')
  229. s_last_updatetime = Column(DateTime, server_default=func.current_timestamp(), comment='最后更新时间')