Beispiel #1
0
class Performance(db.Model):
    __tablename__ = 'performance'
    performance_id = db.Column(db.Integer,
                               primary_key=True,
                               autoincrement=True,
                               comment="员工绩效记录表,递增型主键")
    corporation_id = db.Column(db.Integer, comment="员工所在的公司id")
    user_id = db.Column(db.Integer, comment="员工的用户id")
    hr_id = db.Column(db.Integer, comment="记录该绩效的hr的id")
    value = db.Column(db.Integer, comment="绩效数值,整数型")
    description = db.Column(db.Text, comment="绩效描述")
    registerdate = db.Column(db.DateTime, comment="绩效等级日期")
    department = db.Column(db.String(255), comment="员工部门")
    post = db.Column(db.String(255), comment="职位信息")

    name_register = dict(performance_id=performance_id,
                         corporation_id=corporation_id,
                         user_id=user_id,
                         hr_id=hr_id,
                         value=value,
                         description=description,
                         registerdate=registerdate,
                         department=department,
                         post=post)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Performance.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 corporation_id,
                 user_id,
                 hr_id,
                 value=0,
                 description="",
                 registerdate=0,
                 department="",
                 post=""):
        self.corporation_id = corporation_id
        self.user_id = user_id
        self.hr_id = hr_id
        self.value = value
        self.description = description
        if registerdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registerdate = create_time
        self.department = department
        self.post = post

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #2
0
class Recruitpost(db.Model):
    __tablename__ = 'recruitpost'
    recruitpost_id = db.Column(db.Integer,
                               primary_key=True,
                               autoincrement=True,
                               comment="招募信息表,id表示招募岗位的唯一标识,自动生成自动递增")
    corporation_id = db.Column(db.Integer, comment="招募公司id")
    department = db.Column(db.String(255), comment="招募岗位的部门")
    posttype = db.Column(db.String(255), comment="招募的岗位")
    number = db.Column(db.Integer, comment="招募岗位的数量")
    description = db.Column(db.Text, comment="招募信息描述")
    isposted = db.Column(db.Boolean, comment="是否公开该招募信息")
    registerdate = db.Column(db.DateTime,
                             default=datetime.now,
                             comment="招募公开日期")

    name_register = dict(recruitpost_id=recruitpost_id,
                         corporation_id=corporation_id,
                         department=department,
                         posttype=posttype,
                         number=number,
                         description=description,
                         isposted=isposted,
                         registerdate=registerdate)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Recruitpost.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 corporation_id,
                 department="",
                 posttype="",
                 number=0,
                 description="",
                 isposted=1,
                 registerdate=0):
        self.corporation_id = corporation_id
        self.department = department
        self.number = number
        self.isposted = isposted
        self.description = description
        self.posttype = posttype
        if registerdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registerdate = create_time

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #3
0
class Checkingin(db.Model):
    __tablename__ = 'checkingin'
    checkingin_id = db.Column(db.Integer,
                              primary_key=True,
                              autoincrement=True,
                              comment="用户签到情况表")
    corporation_id = db.Column(db.Integer, comment="用户目前的公司id")
    user_id = db.Column(db.Integer, comment="用户id")
    recordmonth = db.Column(db.Integer, comment="记录月份,时间戳形式,2020年1月为第一个月")
    record = db.Column(db.String(255),
                       comment="编码形式,长度31,每个位代表一天,"
                       "0表示缺勤,1表示签到,2表示迟到")

    name_register = dict(
        checkingin_id=checkingin_id,
        corporation_id=corporation_id,
        user_id=user_id,
        recordmonth=recordmonth,
        record=record,
    )

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Checkingin.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 corporation_id,
                 user_id,
                 recordmonth=0,
                 record="0000000000000000000000000000000"):
        self.corporation_id = corporation_id
        self.user_id = user_id
        self.recordmonth = recordmonth
        self.record = record

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #4
0
class Applylist(db.Model):
    __tablename__ = 'applylist'
    applylist_id = db.Column(db.Integer,
                             primary_key=True,
                             autoincrement=True,
                             comment="用户申请表,用于记录用户对于招募岗位的申请以及是否接收到offer")
    recruitpost_id = db.Column(db.Integer,
                               nullable=False,
                               comment="招募信息id,用于唯一确定招募项目")
    user_id = db.Column(db.Integer, nullable=False, comment="职位申请者的id")
    description = db.Column(db.String(255), comment="申请陈述")
    registrationdate = db.Column(db.DateTime,
                                 default=datetime.now,
                                 comment="发布时间")
    get_offer = db.Column(db.Integer,
                          comment="用户是否接收到了offer,用于向用户反馈,"
                          "0表示hr没看到,1表示接受,2表示拒绝")
    get_offer_date = db.Column(db.Integer, comment="用户接受到offer的日期")
    name_register = dict(applylist_id=applylist_id,
                         recruitpost_id=recruitpost_id,
                         user_id=user_id,
                         description=description,
                         registrationdate=registrationdate,
                         get_offer=get_offer,
                         get_offer_date=get_offer_date)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Applylist.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 recruitpost_id,
                 user_id,
                 description="",
                 registrationdate=0,
                 get_offer=0,
                 get_offer_date=0):
        self.recruitpost_id = recruitpost_id
        self.user_id = user_id
        self.description = description
        if registrationdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registrationdate = create_time
        if get_offer_date == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.get_offer_date = create_time
        self.get_offer = get_offer

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #5
0
class Resignlist(db.Model):
    __tablename__ = 'resignlist'
    resignlist_id = db.Column(db.Integer,
                              primary_key=True,
                              autoincrement=True,
                              comment="用于记录用户辞职信息的表,id自动递增")
    user_id = db.Column(db.Integer, comment="辞职者用户id")
    description = db.Column(db.Text, comment="辞职信息描述")
    registerdate = db.Column(db.DateTime,
                             default=datetime.now,
                             comment="递交辞职信息的日期")

    name_register = dict(resignlist_id=resignlist_id,
                         user_id=user_id,
                         description=description,
                         registerdate=registerdate)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Resignlist.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self, user_id, description="", registerdate=0):
        self.user_id = user_id
        self.description = description
        if registerdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registerdate = create_time

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #6
0
class Stafftrack(db.Model):
    __tablename__ = 'stafftrack'
    stafftrack_id = db.Column(db.Integer, primary_key=True, autoincrement=True,
                              comment="记录用户历史的职位轨迹表,只有用户辞职后才会被记录这个表")
    corporation_id = db.Column(db.Integer, comment="用户所在过的公司的id")
    user_id = db.Column(db.Integer, comment="用户的id")
    arrivetime = db.Column(db.DateTime, default=datetime.now, comment="用户入职时间")
    departtime = db.Column(db.DateTime, default=datetime.now, comment="用户离职时间")
    dutytype = db.Column(db.String(255), comment="用户的在职时期的职位类型")
    description = db.Column(db.String(255), comment="基本描述信息")

    name_register = dict(
        stafftrack_id=stafftrack_id,
        corporation_id=corporation_id,
        user_id=user_id,
        arrivetime=arrivetime,
        departtime=departtime,
        dutytype=dutytype,
        description=description
    )

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Stafftrack.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self, corporation_id, user_id,
                 arrivetime=0, departtime=0,
                 dutytype="", description=""):
        if arrivetime == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.arrivetime = create_time
        if departtime == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.departtime = create_time
        self.corporation_id = corporation_id
        self.user_id = user_id
        self.dutytype = dutytype
        self.description = description

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #7
0
class Note(db.Model):
    __tablename__ = 'note'
    note_id = db.Column(db.Integer, primary_key=True, autoincrement=True,
                        comment="用于记录hr对于用户发布的信息")
    user_id = db.Column(db.Integer, comment="接收信息者用户的id")
    corporation_id = db.Column(db.Integer, comment="发布信息公司的id")
    hr_id = db.Column(db.Integer, comment="发布信息的hr的id")
    description = db.Column(db.Text, comment="信息的主题内容")
    registerdate = db.Column(db.DateTime, default=datetime.now, comment="信息发布时间")

    name_register = dict(
        note_id=note_id,
        user_id=user_id,
        corporation_id=corporation_id,
        hr_id=hr_id,
        description=description,
        registerdate=registerdate
    )

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Note.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list


    def __init__(self, user_id, hr_id, corporation_id,
                 description="", registerdate=0):
        self.user_id = user_id
        self.hr_id = hr_id
        self.description = description
        self.corporation_id = corporation_id
        if registerdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registerdate = create_time

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #8
0
class Person(db.Model):
    __tablename__ = 'person'
    user_id = db.Column(db.Integer,
                        primary_key=True,
                        autoincrement=True,
                        comment="用户的id,递增,自动生成")
    username = db.Column(db.String(255),
                         unique=True,
                         nullable=False,
                         comment="用户名")
    password = db.Column(db.String(255), nullable=False, comment="密码")
    name = db.Column(db.String(255), comment="用户真实姓名")
    sex = db.Column(db.Boolean, comment="用户性别,1表示男,0表示女")
    identitycard = db.Column(db.String(255), comment="用户身份证")
    tags = db.Column(db.String(255), comment="用户标签,比如:经理、计算机、生物、化学")
    edubackground = db.Column(db.String(255), comment="用户学历")
    eduschool = db.Column(db.String(255), comment="用户毕业的最高学历的学校")
    briefintro = db.Column(db.String(255), comment="用户自我简介")
    tel = db.Column(db.String(255), comment="用户电话,只能有一个")
    email = db.Column(db.String(255), comment="用户邮箱,只能记录一个")
    emailstate = db.Column(db.Boolean, comment="用户邮箱是否激活,1表示激活")
    emailcheck = db.Column(db.String(255), comment="用户邮箱验证码")
    politicsstatus = db.Column(db.String(255),
                               comment="用户政治背景,0为群众,1为共产党员,"
                               "2为预备党员,3为共青团员,4为其他")
    address = db.Column(db.String(255), comment="用户家庭住址")
    postcode = db.Column(db.String(255), comment="用户家庭住址邮编")
    workaddress = db.Column(db.String(255), comment="用户工作地址,记录GPS地址,方便打卡比较位置")

    name_register = dict(user_id=user_id,
                         username=username,
                         password=password,
                         name=name,
                         sex=sex,
                         identitycard=identitycard,
                         tags=tags,
                         eduschool=eduschool,
                         edubackground=edubackground,
                         briefintro=briefintro,
                         tel=tel,
                         email=email,
                         politicsstatus=politicsstatus,
                         address=address,
                         postcode=postcode,
                         workaddress=workaddress,
                         emailstate=emailstate,
                         emailcheck=emailcheck)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Person.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 username,
                 password,
                 name="",
                 sex=0,
                 identitycard="000000000000000000",
                 tags="",
                 edubackground="",
                 eduschool="",
                 briefintro="",
                 tel="",
                 email="",
                 politicsstatus="",
                 address="",
                 postcode="",
                 workaddress="",
                 emailstate=0,
                 emailcheck=""):
        self.username = username
        self.password = password
        self.name = name
        self.sex = sex
        self.identitycard = identitycard
        self.tags = tags
        self.eduschool = eduschool
        self.edubackground = edubackground
        self.briefintro = briefintro
        self.tel = tel
        self.email = email
        self.politicsstatus = politicsstatus
        self.address = address
        self.postcode = postcode
        self.workaddress = workaddress
        self.emailstate = emailstate
        self.emailcheck = emailcheck

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #9
0
class Stafflist(db.Model):
    __tablename__ = 'stafflist'
    stafflist_id = db.Column(db.Integer,
                             primary_key=True,
                             autoincrement=True,
                             comment="员工信息记录,记录了所有使用该软件用户-公司键值对之间的关系")
    corporation_id = db.Column(db.Integer, comment="公司id")
    user_or_hr = db.Column(db.Boolean, comment="用户0,hr是1")
    user_id = db.Column(db.Integer, comment="如果是用户,填写用户id")
    hr_id = db.Column(db.Integer, comment="如果是hr,填写hr的id")
    user_name = db.Column(db.String(255), comment="用户姓名")
    transferreason = db.Column(db.Text, comment="转入公司的原因")
    lastcorporation_id = db.Column(db.Integer, comment="上一家公司的id,没有则不写")
    hiredate = db.Column(db.DateTime, default=datetime.now, comment="录用日期")
    dutytype = db.Column(db.String(255), comment="职务信息,例:项目经理")
    department = db.Column(db.String(255), comment="部门信息,例如:市场部")
    jobnumber = db.Column(db.String(255), comment="岗位名称编号,eg:员工1")
    description = db.Column(db.String(255), comment="岗位招聘描述")

    name_register = dict(stafflist_id=stafflist_id,
                         corporation_id=corporation_id,
                         user_or_hr=user_or_hr,
                         user_id=user_id,
                         hr_id=hr_id,
                         user_name=user_name,
                         transferreason=transferreason,
                         lastcorporation_id=lastcorporation_id,
                         hiredate=hiredate,
                         dutytype=dutytype,
                         department=department,
                         jobnumber=jobnumber,
                         description=description)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Stafflist.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 corporation_id,
                 user_id,
                 hr_id,
                 user_or_hr="",
                 user_name="",
                 transferreason="",
                 lastcorporation_id=0,
                 hiredate=0,
                 dutytype="",
                 department="",
                 jobnumber="",
                 description=""):
        self.corporation_id = corporation_id
        self.user_or_hr = user_or_hr
        self.user_id = user_id
        self.hr_id = hr_id
        self.user_name = user_name
        self.transferreason = transferreason
        self.lastcorporation_id = lastcorporation_id
        if hiredate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.hiredate = create_time
        self.dutytype = dutytype
        self.department = department
        self.jobnumber = jobnumber
        self.description = description

    def save(self):
        db.session.add(self)
        db.session.commit()
class Rewardandpulishment(db.Model):
    __tablename__ = 'rewardandpulishment'
    rnp_id = db.Column(db.Integer,
                       primary_key=True,
                       autoincrement=True,
                       comment="重大信息奖罚记录表,id自动递增")
    corporation_id = db.Column(db.Integer, comment="该公司的id")
    user_id = db.Column(db.Integer, comment="被记录者的用户id")
    user_name = db.Column(db.String(255), comment="被记录者的用户名")
    user_depart = db.Column(db.String(255), comment="用户所属的部门")
    user_job = db.Column(db.String(255), comment="用户的工作")
    hr_id = db.Column(db.Integer, comment="记录内容的hr的id")
    rew_or_pun = db.Column(db.Boolean, comment="是否是奖励,0是惩罚,1是奖励")
    reward_pun_name = db.Column(db.String(255), comment="奖惩名称")
    description = db.Column(db.Text, comment="描述信息")
    registerdate = db.Column(db.DateTime, default=datetime.now, comment="奖罚时间")

    name_register = dict(rnp_id=rnp_id,
                         corporation_id=corporation_id,
                         user_id=user_id,
                         user_name=user_name,
                         user_depart=user_depart,
                         user_job=user_job,
                         hr_id=hr_id,
                         rew_or_pun=rew_or_pun,
                         reward_pun_name=reward_pun_name,
                         description=description,
                         registerdate=registerdate)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Rewardandpulishment.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 corporation_id,
                 user_id,
                 hr_id,
                 user_name="",
                 user_depart="",
                 user_job="",
                 rew_or_pun=0,
                 reward_pun_name="",
                 description="",
                 registerdate=0):

        self.corporation_id = corporation_id
        self.user_id = user_id
        self.user_name = user_name
        self.user_depart = user_depart
        self.user_job = user_job
        self.hr_id = hr_id
        self.rew_or_pun = rew_or_pun
        self.reward_pun_name = reward_pun_name
        self.description = description
        self.registerdate = registerdate
        if registerdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registerdate = create_time

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #11
0
class Hr(db.Model):
    __tablename__ = 'hr'
    hr_id = db.Column(db.Integer,
                      primary_key=True,
                      autoincrement=True,
                      comment="hr的账号id,唯一标识hr身份")
    corporation_id = db.Column(db.Integer, comment="hr所属的公司id")
    username = db.Column(db.String(255),
                         unique=True,
                         nullable=False,
                         comment="hr账号用户名")
    password = db.Column(db.String(255), nullable=False, comment="登录密码")
    name = db.Column(db.String(255), comment="hr的姓名")
    sex = db.Column(db.Boolean, comment="hr性别,1表示男,0表示女")
    identitycard = db.Column(db.String(255), comment="hr的身份证信息")
    is_register = db.Column(db.Boolean, comment="hr注册是否过审,1表示过审")
    is_delete = db.Column(db.Boolean, comment="hr账号是否被注销,1表示注销状态")

    name_register = dict(
        hr_id=hr_id,
        corporation_id=corporation_id,
        username=username,
        password=password,
        name=name,
        sex=sex,
        identitycard=identitycard,
        is_register=is_register,
        is_delete=is_delete,
    )

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Hr.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 username,
                 password,
                 corporation_id,
                 name,
                 sex=0,
                 identitycard="000000000000000000",
                 is_register=0,
                 is_delete=0):
        self.corporation_id = corporation_id
        self.username = username
        self.password = password
        self.name = name
        self.sex = sex
        self.identitycard = identitycard
        self.is_register = is_register
        self.is_delete = is_delete

    def save(self):
        db.session.add(self)
        db.session.commit()
Beispiel #12
0
class Corporation(db.Model):
    __tablename__ = 'corporation'
    corporation_id = db.Column(db.Integer,
                               primary_key=True,
                               autoincrement=True,
                               comment="公司id,公司仅用于显示信息,不提供登录功能")
    name = db.Column(db.String(255),
                     unique=True,
                     nullable=False,
                     comment="公司名")
    registeredcapital = db.Column(db.Integer, comment="公司的注册资本")
    legalrepresentative = db.Column(db.String(255), comment="公司的法律代表人")
    registrationdate = db.Column(db.DateTime,
                                 default=datetime.now,
                                 comment="公司登记日期")
    tel = db.Column(db.String(255), comment="公司电话,多个电话用;分割")
    email = db.Column(db.String(255), comment="公司邮箱,多个邮箱用;分割")
    website = db.Column(db.String(255), comment="公司网址")
    location = db.Column(db.String(255), comment="公司地址")
    requirementinfo = db.Column(db.String(255), comment="公司招聘信息")
    structure = db.Column(db.Text, comment="公司架构,广义表形式")
    overall_depart = db.Column(db.String(255),
                               comment="公司的全部部门,暂不使用,用;分割,部门不能包含分号")
    otherinfo = db.Column(db.String(255), comment="公司其他信息,比如签名")
    is_register = db.Column(db.Boolean, comment="公司是否审核通过,0表示正在审核")
    is_delete = db.Column(db.Boolean, comment="公司是否注销,1表示注销")

    name_register = dict(corporation_id=corporation_id,
                         name=name,
                         registeredcapital=registeredcapital,
                         legalrepresentative=legalrepresentative,
                         registrationdate=registrationdate,
                         tel=tel,
                         email=email,
                         website=website,
                         location=location,
                         requirementinfo=requirementinfo,
                         structure=structure,
                         overall_depart=overall_depart,
                         otherinfo=otherinfo,
                         is_register=is_register,
                         is_delete=is_delete)

    @staticmethod
    def get_obj(namelist):
        obj_list = []
        for name in namelist:
            obj = Corporation.name_register.get(name, 0)
            if obj == 0:
                raise Exception("column name not found: " + name)
            obj_list.append(obj)
        return obj_list

    def __init__(self,
                 name,
                 registeredcapital=0,
                 legalrepresentative="",
                 registrationdate=0,
                 tel="",
                 email="",
                 website="",
                 structure="",
                 location="",
                 requirementinfo="",
                 otherinfo="",
                 is_register=0,
                 is_delete=0):
        self.name = name
        self.registeredcapital = registeredcapital
        self.legalrepresentative = legalrepresentative
        if registrationdate == 0:
            create_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            self.registrationdate = create_time
        self.tel = tel
        self.email = email
        self.website = website
        self.tel = tel
        self.email = email
        self.location = location
        self.structure = structure
        self.requirementinfo = requirementinfo
        self.otherinfo = otherinfo
        self.is_register = is_register
        self.is_delete = is_delete

    def save(self):
        db.session.add(self)
        db.session.commit()