feat: 导入福州历史数据
This commit is contained in:
@@ -3,10 +3,12 @@ import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from sqlalchemy import Column, Integer, String, Numeric, Date, UniqueConstraint
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class AsphaltModifier(db.Model):
|
||||
class AsphaltModifier(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'ASPHALT_MODIFIER'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -19,6 +21,14 @@ class AsphaltModifier(db.Model):
|
||||
{'comment': '沥青改性剂'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
query = AsphaltModifier.query
|
||||
query = query.filter(AsphaltModifier.name == self.name)
|
||||
query = query.filter(AsphaltModifier.spec == self.spec)
|
||||
query = query.filter(AsphaltModifier.date == self.date)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def get_query(cls, year=None, month=None, name=None, spec=None, name_in=None):
|
||||
query = cls.query
|
||||
|
@@ -3,10 +3,12 @@ import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from sqlalchemy import Column, Integer, String, Date, UniqueConstraint, Numeric
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class FujianSurvey(db.Model):
|
||||
class FujianSurvey(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'FUJIAN_SURVEY'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -20,10 +22,19 @@ class FujianSurvey(db.Model):
|
||||
region = Column('REGION', String(128), comment='地区')
|
||||
|
||||
__table_args__ = (
|
||||
UniqueConstraint(name, spec, date, name='Idx_key'),
|
||||
UniqueConstraint(name, spec, date, region, name='Idx_key'),
|
||||
{'comment': '福建省交通工程材料调查表'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
query = FujianSurvey.query
|
||||
query = query.filter(FujianSurvey.name == self.name)
|
||||
query = query.filter(FujianSurvey.spec == self.spec)
|
||||
query = query.filter(FujianSurvey.region == self.region)
|
||||
query = query.filter(FujianSurvey.date == self.date)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def get_query(cls, year=None, month=None, name=None, spec=None, name_in=None, region='福州'):
|
||||
query = cls.query
|
||||
|
@@ -3,10 +3,12 @@ import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from sqlalchemy import Column, Integer, String, Date, UniqueConstraint, Numeric
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class FuzhouHighwayBureau(db.Model):
|
||||
class FuzhouHighwayBureau(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'FUZHOU_HIGHWAY_BUREAU'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -23,6 +25,15 @@ class FuzhouHighwayBureau(db.Model):
|
||||
{'comment': '福州公路局'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
query = FuzhouHighwayBureau.query
|
||||
query = query.filter(FuzhouHighwayBureau.name == self.name)
|
||||
query = query.filter(FuzhouHighwayBureau.spec == self.spec)
|
||||
query = query.filter(FuzhouHighwayBureau.region == self.region)
|
||||
query = query.filter(FuzhouHighwayBureau.date == self.date)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def get_query(cls, year, month, name, spec=None, region='福州'):
|
||||
start_date = datetime.date(year, month, 1)
|
||||
|
@@ -3,10 +3,12 @@ import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from sqlalchemy import Column, Integer, String, Date, UniqueConstraint, Numeric
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class FuzhouTransportationBureau(db.Model):
|
||||
class FuzhouTransportationBureau(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'FUZHOU_TRANSPORTATION_BUREAU'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -23,6 +25,15 @@ class FuzhouTransportationBureau(db.Model):
|
||||
{'comment': '福州交通局'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
query = FuzhouTransportationBureau.query
|
||||
query = query.filter(FuzhouTransportationBureau.name == self.name)
|
||||
query = query.filter(FuzhouTransportationBureau.spec == self.spec)
|
||||
query = query.filter(FuzhouTransportationBureau.region == self.region)
|
||||
query = query.filter(FuzhouTransportationBureau.date == self.date)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def get_query(cls, year, month, name, region='福州'):
|
||||
start_date = datetime.date(year, month, 1)
|
||||
|
@@ -1,9 +1,11 @@
|
||||
from sqlalchemy import Column, Integer, String, Date, UniqueConstraint, Numeric, Text
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class LocalMaterial(db.Model):
|
||||
class LocalMaterial(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'LOCAL_MATERIAL'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -22,3 +24,15 @@ class LocalMaterial(db.Model):
|
||||
UniqueConstraint(name, spec, city, county, date, name='Idx_key'),
|
||||
{'comment': '地材'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
cls = self.__class__
|
||||
query = cls.query
|
||||
query = query.filter(cls.date == self.date)
|
||||
query = query.filter(cls.spec == self.spec)
|
||||
query = query.filter(cls.name == self.name)
|
||||
query = query.filter(cls.city == self.city)
|
||||
query = query.filter(cls.county == self.county)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
|
@@ -3,10 +3,12 @@ import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from sqlalchemy import Column, Integer, String, Numeric, Date, UniqueConstraint
|
||||
|
||||
from commons.models.mixin.base import BaseModelMixin
|
||||
from commons.models.model import Model
|
||||
from core.extensions import db
|
||||
|
||||
|
||||
class SanmingSteel(db.Model):
|
||||
class SanmingSteel(db.Model, Model, BaseModelMixin):
|
||||
__tablename__ = 'SANMING_STEEL'
|
||||
id = Column('ID', Integer, primary_key=True)
|
||||
name = Column('NAME', String(128), default='', comment='名称')
|
||||
@@ -17,10 +19,18 @@ class SanmingSteel(db.Model):
|
||||
date = Column('DATE', Date, comment='日期')
|
||||
|
||||
__table_args__ = (
|
||||
UniqueConstraint(name, spec, material, date, name='Idx_key'),
|
||||
UniqueConstraint(name, spec, date, name='Idx_key'),
|
||||
{'comment': '三明钢铁'},
|
||||
)
|
||||
|
||||
def find_by_key(self):
|
||||
query = SanmingSteel.query
|
||||
query = query.filter(SanmingSteel.name == self.name)
|
||||
query = query.filter(SanmingSteel.spec == self.spec)
|
||||
query = query.filter(SanmingSteel.date == self.date)
|
||||
result = query.one_or_none()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def get_query(cls, year, month, name, spec):
|
||||
start_date = datetime.date(year, month, 1)
|
||||
|
Reference in New Issue
Block a user