Browse Source

新建connector模块

master
Sherlock0618 10 months ago
parent
commit
b44eec2c7d
  1. 3
      ChaCeRndTrans/settings.py
  2. 0
      apps/connector/__init__.py
  3. 3
      apps/connector/admin.py
  4. 5
      apps/connector/apps.py
  5. 42
      apps/connector/migrations/0001_initial.py
  6. 0
      apps/connector/migrations/__init__.py
  7. 33
      apps/connector/models.py
  8. 4
      apps/connector/serializers/__init__.py
  9. 11
      apps/connector/serializers/connector_serializer.py
  10. 3
      apps/connector/tests.py
  11. 12
      apps/connector/urls.py
  12. 3
      apps/connector/views.py
  13. 4
      apps/connector/views/__init__.py
  14. 113
      apps/connector/views/connector.py
  15. 83
      apps/rbac/migrations/0002_auto_20250221_1723.py
  16. 421
      apps/staff/migrations/0002_auto_20250221_1723.py
  17. 29
      apps/tasks/migrations/0001_initial.py

3
ChaCeRndTrans/settings.py

@ -78,6 +78,7 @@ INSTALLED_APPS = [
"rbac", # 权限模块 "rbac", # 权限模块
"staff", # 权限模块 "staff", # 权限模块
"tasks", # 定时任务 "tasks", # 定时任务
"connector", # 数据连接
] ]
MIDDLEWARE = [ MIDDLEWARE = [
@ -154,7 +155,7 @@ DATABASES = {
"default": { "default": {
"ENGINE": "django.db.backends.mysql", "ENGINE": "django.db.backends.mysql",
# "ENGINE": "dj_db_conn_pool.backends.mysql", # "ENGINE": "dj_db_conn_pool.backends.mysql",
"NAME": "chace_rnd_3x", "NAME": "chace_rnd_trans",
"USER": "ccwtdm", "USER": "ccwtdm",
"PASSWORD": "fhRZLEu562wi23M4QC4iYq615UZEvgeB", "PASSWORD": "fhRZLEu562wi23M4QC4iYq615UZEvgeB",
"HOST": "47.112.242.103", "HOST": "47.112.242.103",

0
apps/connector/__init__.py

3
apps/connector/admin.py

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
apps/connector/apps.py

@ -0,0 +1,5 @@
from django.apps import AppConfig
class ConnectorConfig(AppConfig):
name = 'connector'

42
apps/connector/migrations/0001_initial.py

@ -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
apps/connector/migrations/__init__.py

33
apps/connector/models.py

@ -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

4
apps/connector/serializers/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# @Author : Sherlock
# @Time : 2025/2/21 17:49
# @Description :

11
apps/connector/serializers/connector_serializer.py

@ -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__"

3
apps/connector/tests.py

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

12
apps/connector/urls.py

@ -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)),
]

3
apps/connector/views.py

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.

4
apps/connector/views/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# @Author : Sherlock
# @Time : 2025/2/21 17:53
# @Description :

113
apps/connector/views/connector.py

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

83
apps/rbac/migrations/0002_auto_20250221_1723.py

@ -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'),
),
]

421
apps/staff/migrations/0002_auto_20250221_1723.py

@ -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='学历'),
),
]

29
apps/tasks/migrations/0001_initial.py

@ -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…
Cancel
Save