Compare commits
3 Commits
0e58d4cae9
...
e9bb092ad6
| Author | SHA1 | Date |
|---|---|---|
|
|
e9bb092ad6 | 10 months ago |
|
|
43d25c0420 | 10 months ago |
|
|
b44eec2c7d | 10 months ago |
18 changed files with 768 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||
|
from django.contrib import admin |
||||
|
|
||||
|
# Register your models here. |
||||
@ -0,0 +1,5 @@ |
|||||
|
from django.apps import AppConfig |
||||
|
|
||||
|
|
||||
|
class ConnectorConfig(AppConfig): |
||||
|
name = 'connector' |
||||
@ -0,0 +1,42 @@ |
|||||
|
# Generated by Django 3.1.4 on 2025-02-21 17:23 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
initial = True |
||||
|
|
||||
|
dependencies = [ |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='Connection', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='主键')), |
||||
|
('type', models.IntegerField(help_text='1:数据库,2:API', verbose_name='连接类型')), |
||||
|
('host', models.CharField(max_length=255, verbose_name='地址')), |
||||
|
('port', models.IntegerField(verbose_name='端口')), |
||||
|
('username', models.CharField(max_length=255, verbose_name='用户名')), |
||||
|
('password', models.CharField(max_length=255, verbose_name='密码')), |
||||
|
('database_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='数据库名称')), |
||||
|
('apiUrl', models.TextField(blank=True, null=True, verbose_name='APIURL')), |
||||
|
('authType', models.IntegerField(blank=True, help_text='1:Basic Authentication,2:Bearer Token,3:API Key', null=True, verbose_name='认证类型')), |
||||
|
('requestMethod', models.IntegerField(help_text='1:get,2:post', verbose_name='请求方法')), |
||||
|
('requestParams', models.JSONField(blank=True, null=True, verbose_name='请求参数')), |
||||
|
('companyMid', models.CharField(max_length=255, verbose_name='公司全局MainID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '数据连接', |
||||
|
'verbose_name_plural': '数据连接', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,33 @@ |
|||||
|
from django.db import models |
||||
|
|
||||
|
|
||||
|
class Connection(models.Model): |
||||
|
id = models.AutoField(primary_key=True, verbose_name='主键') |
||||
|
type = models.IntegerField(verbose_name='连接类型', help_text='1:数据库,2:API') |
||||
|
host = models.CharField(max_length=255, verbose_name='地址') |
||||
|
port = models.IntegerField(verbose_name='端口') |
||||
|
username = models.CharField(max_length=255, verbose_name='用户名') |
||||
|
password = models.CharField(max_length=255, verbose_name='密码') # 建议加密存储 |
||||
|
database_name = models.CharField(max_length=255, null=True, blank=True, verbose_name='数据库名称') |
||||
|
apiUrl = models.TextField(null=True, blank=True, verbose_name='APIURL') |
||||
|
authType = models.IntegerField(null=True, blank=True, verbose_name='认证类型', |
||||
|
help_text='1:Basic Authentication,2:Bearer Token,3:API Key') # 例如: # Basic Authentication:使用用户名和密码进行简单的认证。 |
||||
|
# Bearer Token:使用访问令牌进行认证,通常用于 OAuth 2.0。 |
||||
|
# API Key:通过在请求头或 URL 中传递 API 密钥进行认证。 |
||||
|
requestMethod = models.IntegerField(verbose_name='请求方法', help_text='1:get,2:post') |
||||
|
requestParams = models.JSONField(null=True, blank=True, verbose_name='请求参数') |
||||
|
companyMid = models.CharField(max_length=255, verbose_name='公司全局MainID') |
||||
|
CreateDateTime = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
||||
|
CreateByUid = models.IntegerField(null=True, blank=True, verbose_name='创建人ID') |
||||
|
CreateBy = models.CharField(max_length=36, null=True, blank=True, verbose_name='创建人') |
||||
|
UpdateBy = models.CharField(max_length=36, null=True, blank=True, verbose_name='更新人') |
||||
|
UpdateByUid = models.IntegerField(null=True, blank=True, verbose_name='更新人ID') |
||||
|
UpdateDateTime = models.DateTimeField(auto_now=True, blank=True, verbose_name='更新时间') |
||||
|
|
||||
|
class Meta: |
||||
|
verbose_name = '数据连接' |
||||
|
verbose_name_plural = verbose_name |
||||
|
ordering = ["id"] |
||||
|
|
||||
|
def __str__(self): |
||||
|
return self.id |
||||
@ -0,0 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# @Author : Sherlock |
||||
|
# @Time : 2025/2/21 17:49 |
||||
|
# @Description : |
||||
@ -0,0 +1,11 @@ |
|||||
|
# Created by Sherlock on 2025/2/21 17:49 |
||||
|
from rest_framework import serializers |
||||
|
from .models import Connection |
||||
|
|
||||
|
class ConnectionSerializer(serializers.ModelSerializer): |
||||
|
""" |
||||
|
数据连接 |
||||
|
""" |
||||
|
class Meta: |
||||
|
model = Connection |
||||
|
fields = "__all__" |
||||
@ -0,0 +1,3 @@ |
|||||
|
from django.test import TestCase |
||||
|
|
||||
|
# Create your tests here. |
||||
@ -0,0 +1,12 @@ |
|||||
|
from django.urls import path, include |
||||
|
from rbac.views import user, menu, role, permission, message, SubAccount, FrontRole, company |
||||
|
from rest_framework import routers |
||||
|
|
||||
|
from rbac.views.Slider_Verification import SliderVerification |
||||
|
|
||||
|
router = routers.SimpleRouter() |
||||
|
|
||||
|
|
||||
|
urlpatterns = [ |
||||
|
path(r"api/", include(router.urls)), |
||||
|
] |
||||
@ -0,0 +1,3 @@ |
|||||
|
from django.shortcuts import render |
||||
|
|
||||
|
# Create your views here. |
||||
@ -0,0 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# @Author : Sherlock |
||||
|
# @Time : 2025/2/21 17:53 |
||||
|
# @Description : |
||||
@ -0,0 +1,113 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# @Author : Sherlock |
||||
|
# @Time : 2025/2/21 17:53 |
||||
|
# @Description : 数据连接 |
||||
|
from rest_framework.permissions import IsAuthenticated |
||||
|
from rest_framework_jwt.authentication import JSONWebTokenAuthentication |
||||
|
from django_filters.rest_framework import DjangoFilterBackend |
||||
|
from rest_framework.decorators import action |
||||
|
from rest_framework.filters import SearchFilter, OrderingFilter |
||||
|
|
||||
|
|
||||
|
class ConnectorViewSet(CustomViewBase): |
||||
|
''' |
||||
|
字典详情树 |
||||
|
''' |
||||
|
perms_map = ( |
||||
|
{'*': 'admin'}, |
||||
|
{'*': 'connector_all'}, |
||||
|
{'get': 'connector_list'}, |
||||
|
{'post': 'connector_create'}, |
||||
|
{'put': 'connector_edit'}, |
||||
|
{'delete': 'connector_delete'} |
||||
|
) |
||||
|
queryset = Connection.objects.all() |
||||
|
serializer_class = ConnectionSerializer |
||||
|
filter_backends = (SearchFilter, OrderingFilter) |
||||
|
ordering_fields = ('id',) |
||||
|
authentication_classes = (JSONWebTokenAuthentication,) |
||||
|
permission_classes = (IsAuthenticated,) |
||||
|
|
||||
|
def list(self, request, *args, **kwargs): |
||||
|
''' |
||||
|
重写list方法 |
||||
|
''' |
||||
|
companyMid = request.GET.get("companyMid", None) |
||||
|
is_enabled = request.GET.get("is_enabled") |
||||
|
label = request.GET.get("label") |
||||
|
order = request.GET.get("order") |
||||
|
sort = request.GET.get("ordering") |
||||
|
order_by = 'id' |
||||
|
try: |
||||
|
|
||||
|
queryRows = Connection.objects.filter(companyMid=companyMid).order_by(order_by) |
||||
|
for item in queryRows: |
||||
|
item.__dict__.pop('_state') |
||||
|
results.append(item.__dict__) |
||||
|
result = [] |
||||
|
return CCAIResponse(results) |
||||
|
else: |
||||
|
logger.error("connector list failed: \n%s" % traceback.format_exc()) |
||||
|
return CCAIResponse(PARAMS_ERR, SERVER_ERROR) |
||||
|
|
||||
|
def create(self, request, *args, **kwargs): |
||||
|
'''添加数据POST''' |
||||
|
try: |
||||
|
data = req_operate_by_user(request) |
||||
|
# data['dict_detail_id'] = uuid.uuid4().__str__() |
||||
|
|
||||
|
serializer = self.get_serializer(data=data) |
||||
|
serializer.is_valid(raise_exception=True) |
||||
|
self.perform_create(serializer) |
||||
|
|
||||
|
|
||||
|
return CCAIResponse(data="success") |
||||
|
except Exception as e: |
||||
|
logger.error("connector create failed: \n%s" % traceback.format_exc()) |
||||
|
return CCAIResponse("connector create failed", SERVER_ERROR) |
||||
|
|
||||
|
def destroy(self, request, *args, **kwargs): |
||||
|
try: |
||||
|
instance = self.get_object() |
||||
|
# 查询是否存在关联 |
||||
|
queryRows = Connection.objects.filter(id=instance.id) |
||||
|
if len(queryRows > 0): |
||||
|
# return CCAIResponse("该数据存在关联,请先删除关联数据", BAD) |
||||
|
# is_association = self.check_association(deptId=instance.id) |
||||
|
# if is_association: |
||||
|
# return CCAIResponse(is_association, BAD) |
||||
|
self.perform_destroy(instance) |
||||
|
|
||||
|
return CCAIResponse(data="delete connector success") |
||||
|
else: |
||||
|
logger.error("connector id failed: \n%s" % traceback.format_exc()) |
||||
|
return CCAIResponse("delete connector id inexistence ", BAD) |
||||
|
except Exception as e: |
||||
|
logger.error("user: %s, delete dept failed: \n%s" % (request.user.id, traceback.format_exc())) |
||||
|
return CCAIResponse("delete dept failed", SERVER_ERROR) |
||||
|
|
||||
|
|
||||
|
def update(self, request, *args, **kwargs): |
||||
|
from rest_framework.exceptions import ValidationError |
||||
|
try: |
||||
|
companyMid = request.query_params.get('companyMid', None) |
||||
|
data = req_operate_by_user(request) |
||||
|
data['companyMid'] = companyMid |
||||
|
partial = kwargs.pop('partial', False) # True:所有字段全部更新, False:仅更新提供的字段 |
||||
|
instance = self.get_object() |
||||
|
|
||||
|
|
||||
|
serializer = self.get_serializer(instance, data=data, partial=partial) |
||||
|
serializer.is_valid(raise_exception=True) |
||||
|
self.perform_update(serializer) |
||||
|
|
||||
|
if getattr(instance, '_prefetched_objects_cache', None): |
||||
|
# If 'prefetch_related' has been applied to a queryset, we need to |
||||
|
# forcibly invalidate the prefetch cache on the instance. |
||||
|
instance._prefetched_objects_cache = {} |
||||
|
return CCAIResponse(data="success") |
||||
|
|
||||
|
except Exception as e: |
||||
|
logger.error("user: %s, update connector failed: \n%s" % (request.user.id, traceback.format_exc())) |
||||
|
return CCAIResponse("update dept failed", SERVER_ERROR) |
||||
|
|
||||
@ -0,0 +1,83 @@ |
|||||
|
# Generated by Django 3.1.4 on 2025-02-21 17:23 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('rbac', '0001_initial'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='AmEnd', |
||||
|
field=models.CharField(blank=True, default='12:00', help_text='早班结束时间', max_length=10, null=True, verbose_name='早班结束时间'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='AmStart', |
||||
|
field=models.CharField(blank=True, default='8:00', help_text='早班起始时间', max_length=10, null=True, verbose_name='早班起始时间'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='PmEnd', |
||||
|
field=models.CharField(blank=True, default='18:00', help_text='午班结束时间', max_length=10, null=True, verbose_name='午班结束时间'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='PmStart', |
||||
|
field=models.CharField(blank=True, default='14:00', help_text='午班起始时间', max_length=10, null=True, verbose_name='午班起始时间'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='checkIn', |
||||
|
field=models.IntegerField(default=0, help_text='打卡方案,0-原方案, 1-新方案(细颗粒度)', verbose_name='打卡方案,0-原方案, 1-新方案(细颗粒度)'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='hightechDate', |
||||
|
field=models.DateField(blank=True, help_text='获取高企时间', null=True, verbose_name='获取高企时间'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='tech', |
||||
|
field=models.CharField(blank=True, help_text='技术领域id', max_length=200, null=True, verbose_name='技术领域id'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='company', |
||||
|
name='tolerance', |
||||
|
field=models.IntegerField(default=900, help_text='打卡容错时间,单位s, 默认900s=15min', verbose_name='打卡容错时间,单位s, 默认900s=15min'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='menu', |
||||
|
name='label', |
||||
|
field=models.IntegerField(default=1, verbose_name='是否前台菜单 # 1:是 2:不是'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='permission', |
||||
|
name='label', |
||||
|
field=models.IntegerField(default=1, verbose_name='是否前台权限 # 1:是 2:不是'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='role', |
||||
|
name='label', |
||||
|
field=models.IntegerField(default=1, verbose_name='是否前台角色 # 1:是 2:不是'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='userprofile', |
||||
|
name='label', |
||||
|
field=models.IntegerField(default=1, verbose_name='是否前台用户 # 1:是 2:不是'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='userprofile', |
||||
|
name='image', |
||||
|
field=models.CharField(default='/image/default.png', max_length=100, verbose_name='头像'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='userprofile', |
||||
|
name='is_staff', |
||||
|
field=models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,421 @@ |
|||||
|
# Generated by Django 3.1.4 on 2025-02-21 17:23 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('staff', '0001_initial'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='AccruedAccumulation', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='金额', max_digits=18, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '公积金记录', |
||||
|
'verbose_name_plural': '公积金记录', |
||||
|
'db_table': 'staff_accrued_accumulation', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='AccruedBonus', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, help_text='金额', max_digits=18, null=True, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('remark', models.CharField(blank=True, help_text='备注信息', max_length=200, null=True, verbose_name='备注信息')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '奖金管理', |
||||
|
'verbose_name_plural': '奖金管理', |
||||
|
'db_table': 'staff_accrued_bonus', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='AccruedSocialInsurance', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='金额', max_digits=18, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '社保记录', |
||||
|
'verbose_name_plural': '社保记录', |
||||
|
'db_table': 'staff_accrued_social_insurance', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='AccruedWages', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='工资', max_digits=18, verbose_name='工资')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '工资记录', |
||||
|
'verbose_name_plural': '工资记录', |
||||
|
'db_table': 'staff_accrued_wages', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='AccruedWelfare', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, help_text='金额', max_digits=18, null=True, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('remark', models.CharField(blank=True, help_text='备注信息', max_length=200, null=True, verbose_name='备注信息')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '福利管理', |
||||
|
'verbose_name_plural': '福利管理', |
||||
|
'db_table': 'staff_accrued_welfare', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='Accumulation', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='金额', max_digits=18, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '公积金记录', |
||||
|
'verbose_name_plural': '公积金记录', |
||||
|
'db_table': 'staff_accumulation', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='Bonus', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, help_text='金额', max_digits=18, null=True, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('remark', models.CharField(blank=True, help_text='备注信息', max_length=200, null=True, verbose_name='备注信息')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '奖金管理', |
||||
|
'verbose_name_plural': '奖金管理', |
||||
|
'db_table': 'staff_bonus', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='SocialInsurance', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='金额', max_digits=18, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '社保记录', |
||||
|
'verbose_name_plural': '社保记录', |
||||
|
'db_table': 'staff_social_insurance', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='Wages', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, default=0, help_text='工资', max_digits=18, verbose_name='工资')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '工资记录', |
||||
|
'verbose_name_plural': '工资记录', |
||||
|
'db_table': 'staff_wages', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='Welfare', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('staffId', models.IntegerField(blank=True, help_text='员工id', null=True, verbose_name='员工id')), |
||||
|
('date', models.DateField(blank=True, help_text='薪资入账年月 # 2024-01', null=True, verbose_name='薪资入账年月')), |
||||
|
('startDate', models.DateField(blank=True, help_text='薪资费用发生开始年月 # 2024-01', null=True, verbose_name='薪资费用发生开始年月')), |
||||
|
('endDate', models.DateField(blank=True, help_text='薪资费用发生结束年月 # 2024-01', null=True, verbose_name='薪资费用发生结束年月')), |
||||
|
('amount', models.DecimalField(blank=True, decimal_places=2, help_text='金额', max_digits=18, null=True, verbose_name='金额')), |
||||
|
('subjectId', models.IntegerField(blank=True, help_text='对应科目id', null=True, verbose_name='对应科目id')), |
||||
|
('status', models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态')), |
||||
|
('attendanceStatus', models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成')), |
||||
|
('remark', models.CharField(blank=True, help_text='备注信息', max_length=200, null=True, verbose_name='备注信息')), |
||||
|
('CreateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='创建人')), |
||||
|
('UpdateBy', models.CharField(blank=True, max_length=36, null=True, verbose_name='更新人')), |
||||
|
('CreateByUid', models.IntegerField(blank=True, null=True, verbose_name='创建人ID')), |
||||
|
('UpdateByUid', models.IntegerField(blank=True, null=True, verbose_name='更新人ID')), |
||||
|
('CreateDateTime', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
||||
|
('UpdateDateTime', models.DateTimeField(auto_now=True, verbose_name='更新时间')), |
||||
|
('companyMid', models.CharField(blank=True, max_length=36, null=True, verbose_name='公司全局id')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '福利管理', |
||||
|
'verbose_name_plural': '福利管理', |
||||
|
'db_table': 'staff_welfare', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
migrations.RemoveField( |
||||
|
model_name='salary', |
||||
|
name='type', |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='accumulation', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='公积金', max_digits=18, verbose_name='公积金'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='attendanceStatus', |
||||
|
field=models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='endowment', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='养老', max_digits=18, verbose_name='养老'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='illness', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='大病医疗', max_digits=18, verbose_name='大病医疗'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='maternity', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='生育', max_digits=18, verbose_name='生育'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='medical', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='医疗', max_digits=18, verbose_name='医疗'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='unemployment', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='失业', max_digits=18, verbose_name='失业'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='accrued', |
||||
|
name='workInjury', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='工伤', max_digits=18, verbose_name='工伤'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='reward', |
||||
|
name='attendanceStatus', |
||||
|
field=models.BooleanField(default=False, help_text='是否完成对应时间的考勤,0-未完成', verbose_name='是否完成对应时间的考勤,0-未完成'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='salary', |
||||
|
name='attendanceStatus', |
||||
|
field=models.BooleanField(default=0, help_text='考勤状态是否完成,0-未完成', verbose_name='考勤状态是否完成,0-未完成'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='staff', |
||||
|
name='graduationSchool', |
||||
|
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='毕业院校'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='staff', |
||||
|
name='personalHonor', |
||||
|
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='个人荣誉'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='staff', |
||||
|
name='professionalCertificate', |
||||
|
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='专业证书'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='staff', |
||||
|
name='talentQualification', |
||||
|
field=models.CharField(blank=True, help_text='1.国家高层次人才 2.地方高层次人才 3.区高层次人才', max_length=10, null=True, verbose_name='人才资质'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='accrued', |
||||
|
name='accruedType', |
||||
|
field=models.IntegerField(blank=True, help_text='预提类型 # (1:工资&社保公积金,2:奖金,3:福利)', null=True, verbose_name='预提类型'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='attendance', |
||||
|
name='status', |
||||
|
field=models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证(已记账)', null=True, verbose_name='状态'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='accumulation', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='公积金', max_digits=18, verbose_name='公积金'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='endowment', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='养老', max_digits=18, verbose_name='养老'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='illness', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='大病医疗', max_digits=18, verbose_name='大病医疗'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='maternity', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='生育', max_digits=18, verbose_name='生育'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='medical', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='医疗', max_digits=18, verbose_name='医疗'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='salaryAmount', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='工资', max_digits=18, verbose_name='工资'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='status', |
||||
|
field=models.IntegerField(blank=True, default=0, help_text='状态 # 0:未审核 1:已审核保存 1+:已添加凭证', null=True, verbose_name='状态'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='unemployment', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='失业', max_digits=18, verbose_name='失业'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='salary', |
||||
|
name='workInjury', |
||||
|
field=models.DecimalField(blank=True, decimal_places=2, default=0, help_text='工伤', max_digits=18, verbose_name='工伤'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='staff', |
||||
|
name='education', |
||||
|
field=models.IntegerField(blank=True, help_text='学历 # 1.高中(中专)及以下 2.大专 3.本科 4.硕士 5.博士', null=True, verbose_name='学历'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,29 @@ |
|||||
|
# Generated by Django 3.1.4 on 2025-02-21 17:23 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
initial = True |
||||
|
|
||||
|
dependencies = [ |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='TasksConsloe', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('task', models.CharField(blank=True, max_length=500, null=True, verbose_name='任务')), |
||||
|
('content', models.CharField(blank=True, max_length=500, null=True, verbose_name='内容')), |
||||
|
('start_time', models.DateTimeField(auto_now_add=True, verbose_name='执行时间')), |
||||
|
('finish_time', models.DateTimeField(auto_now_add=True, verbose_name='结束时间')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': '任务输出', |
||||
|
'verbose_name_plural': '任务输出', |
||||
|
'ordering': ['id'], |
||||
|
}, |
||||
|
), |
||||
|
] |
||||
Loading…
Reference in new issue