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()
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()
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()
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()
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()
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()
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()
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()
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()