From 833538959f5ad0bb15ec6c45d35e56ee0ed5edc9 Mon Sep 17 00:00:00 2001 From: laoxiao Date: Tue, 4 Apr 2023 22:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=8C=E6=88=90=EF=BC=8C=E4=BD=86=E6=98=AF=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../4bc53945-f65a-487e-8aae-a32e60fe31b7.xml | 2739 +++++++++++++++++ .../basic_info/migrations/0001_initial.py | 162 + .../basic_info/migrations/0002_initial.py | 33 + .../erp_system/migrations/0001_initial.py | 123 + .../goods_info/migrations/0001_initial.py | 121 + .../purchase_info/migrations/0001_initial.py | 75 + .../warehouse_info/migrations/0001_initial.py | 88 + 7 files changed, 3341 insertions(+) create mode 100644 .idea/dataSources/4bc53945-f65a-487e-8aae-a32e60fe31b7.xml create mode 100644 ERP_5/apps/basic_info/migrations/0001_initial.py create mode 100644 ERP_5/apps/basic_info/migrations/0002_initial.py create mode 100644 ERP_5/apps/erp_system/migrations/0001_initial.py create mode 100644 ERP_5/apps/goods_info/migrations/0001_initial.py create mode 100644 ERP_5/apps/purchase_info/migrations/0001_initial.py create mode 100644 ERP_5/apps/warehouse_info/migrations/0001_initial.py diff --git a/.idea/dataSources/4bc53945-f65a-487e-8aae-a32e60fe31b7.xml b/.idea/dataSources/4bc53945-f65a-487e-8aae-a32e60fe31b7.xml new file mode 100644 index 0000000..ca49fd2 --- /dev/null +++ b/.idea/dataSources/4bc53945-f65a-487e-8aae-a32e60fe31b7.xml @@ -0,0 +1,2739 @@ + + + + + 8.0.21 + InnoDB + InnoDB + lower/lower + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + 1 + utf8mb4_0900_ai_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + armscii8 + + + armscii8 + 1 + + + ascii + + + ascii + 1 + + + big5 + + + big5 + 1 + + + binary + 1 + + + cp1250 + + + cp1250 + + + cp1250 + + + cp1250 + 1 + + + cp1250 + + + cp1251 + + + cp1251 + + + cp1251 + 1 + + + cp1251 + + + cp1251 + + + cp1256 + + + cp1256 + 1 + + + cp1257 + + + cp1257 + 1 + + + cp1257 + + + cp850 + + + cp850 + 1 + + + cp852 + + + cp852 + 1 + + + cp866 + + + cp866 + 1 + + + cp932 + + + cp932 + 1 + + + dec8 + + + dec8 + 1 + + + eucjpms + + + eucjpms + 1 + + + euckr + + + euckr + 1 + + + gb18030 + + + gb18030 + 1 + + + gb18030 + + + gb2312 + + + gb2312 + 1 + + + gbk + + + gbk + 1 + + + geostd8 + + + geostd8 + 1 + + + greek + + + greek + 1 + + + hebrew + + + hebrew + 1 + + + hp8 + + + hp8 + 1 + + + keybcs2 + + + keybcs2 + 1 + + + koi8r + + + koi8r + 1 + + + koi8u + + + koi8u + 1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + + + latin1 + 1 + + + latin2 + + + latin2 + + + latin2 + + + latin2 + 1 + + + latin2 + + + latin5 + + + latin5 + 1 + + + latin7 + + + latin7 + + + latin7 + 1 + + + latin7 + + + macce + + + macce + 1 + + + macroman + + + macroman + 1 + + + sjis + + + sjis + 1 + + + swe7 + + + swe7 + 1 + + + tis620 + + + tis620 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + 1 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ucs2 + + + ujis + + + ujis + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + 1 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16 + + + utf16le + + + utf16le + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + 1 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf32 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + 1 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8 + + + utf8mb4 + 1 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + utf8mb4 + + + localhost + SELECT + + + + localhost + SHUTDOWN,SUPER +BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN +SELECT|performance_schema:null +SELECT|mysql.user:null + + + + localhost + TRIGGER|sys:null +SELECT|sys.sys_config:null + + + + % + SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE! + + + + localhost + SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE! + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + 1 + int|0s + 1 + null + + + 2 + varchar(150)|0s + 1 + + + name + 1 + btree + + + 1 + id + 1 + + + name + name + + + 1 + bigint|0s + 1 + null + + + 2 + int|0s + 1 + + + 3 + int|0s + 1 + + + group_id +permission_id + 1 + btree + + + permission_id + btree + + + 1 + id + 1 + + + group_id +permission_id + auth_group_permissions_group_id_permission_id_0cd325b0_uniq + + + group_id + auth_group + id + + + permission_id + auth_permission + id + + + 1 + int|0s + 1 + null + + + 2 + varchar(255)|0s + 1 + + + 3 + int|0s + 1 + + + 4 + varchar(100)|0s + 1 + + + content_type_id +codename + 1 + btree + + + 1 + id + 1 + + + content_type_id +codename + auth_permission_content_type_id_codename_01ab375a_uniq + + + content_type_id + django_content_type + id + + + 1 + int|0s + 1 + + + 2 + varchar(30)|0s + 1 + + + 3 + int|0s + 1 + + + province_id + btree + + + 1 + id + 1 + + + province_id + province + id + + + 1 + int|0s + 1 + null + + + 2 + datetime(6)|0s + 1 + + + 3 + longtext|0s + + + 4 + varchar(200)|0s + 1 + + + 5 + smallint unsigned|0s + 1 + + + 6 + longtext|0s + 1 + + + 7 + int|0s + + + 8 + bigint|0s + 1 + + + content_type_id + btree + + + user_id + btree + + + 1 + id + 1 + + + content_type_id + django_content_type + id + + + user_id + t_user + id + + + 1 + int|0s + 1 + null + + + 2 + varchar(100)|0s + 1 + + + 3 + varchar(100)|0s + 1 + + + app_label +model + 1 + btree + + + 1 + id + 1 + + + app_label +model + django_content_type_app_label_model_76bd3d3b_uniq + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(255)|0s + 1 + + + 3 + varchar(255)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 1 + id + 1 + + + 1 + varchar(40)|0s + 1 + + + 2 + longtext|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + expire_date + btree + + + 1 + session_key + 1 + + + 1 + int|0s + 1 + + + 2 + varchar(30)|0s + 1 + + + 1 + id + 1 + + + 1 + int|0s + 1 + + + 2 + varchar(30)|0s + 1 + + + 3 + int|0s + 1 + + + nation_id + btree + + + 1 + id + 1 + + + nation_id + nation + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(20)|0s + + + 1 + id + 1 + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(28)|0s + 1 + + + 7 + varchar(512)|0s + + + 8 + int|0s + 1 + + + 9 + bigint|0s + + + number_code + 1 + btree + + + parent_id + btree + + + 1 + id + 1 + + + number_code + number_code + + + parent_id + t_category + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(11)|0s + + + 7 + varchar(22)|0s + + + 8 + varchar(22)|0s + + + 9 + varchar(50)|0s + + + 10 + varchar(50)|0s + + + 11 + varchar(50)|0s + + + 12 + varchar(50)|0s + + + 13 + varchar(50)|0s + + + 14 + varchar(50)|0s + + + 15 + varchar(50)|0s + + + 16 + varchar(50)|0s + + + 17 + varchar(512)|0s + + + 18 + decimal(20,2 digit)|0s + + + 19 + decimal(20,2 digit)|0s + + + 20 + int|0s + 1 + + + name + 1 + btree + + + 1 + id + 1 + + + name + name + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(32)|0s + 1 + + + 6 + varchar(128)|0s + 1 + + + 7 + bigint|0s + + + name + 1 + btree + + + parent_id + btree + + + 1 + id + 1 + + + name + name + + + parent_id + t_dept + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(20)|0s + 1 + + + 6 + varchar(50)|0s + + + 7 + varchar(50)|0s + + + 8 + varchar(50)|0s + + + 9 + varchar(50)|0s + + + 10 + int|0s + + + 11 + varchar(512)|0s + + + 12 + varchar(28)|0s + 1 + + + 13 + decimal(10,2 digit)|0s + 1 + + + 14 + decimal(10,2 digit)|0s + 1 + + + 15 + decimal(10,2 digit)|0s + 1 + + + 16 + decimal(10,2 digit)|0s + 1 + + + 17 + int|0s + 1 + + + 18 + varchar(20)|0s + + + 19 + bigint|0s + + + 20 + bigint|0s + + + name + 1 + btree + + + number_code + 1 + btree + + + category_id + btree + + + units_id + btree + + + 1 + id + 1 + + + name + name + + + number_code + number_code + + + category_id + t_category + id + + + units_id + t_units + id + + + 1 + bigint|0s + 1 + null + + + 2 + decimal(10,2 digit)|0s + 1 + + + 3 + decimal(10,2 digit)|0s + 1 + + + 4 + decimal(10,2 digit)|0s + 1 + + + 5 + decimal(10,2 digit)|0s + 1 + + + 6 + varchar(50)|0s + 1 + + + 7 + bigint|0s + + + 8 + bigint|0s + 1 + + + goods_id + btree + + + warehouse_id + btree + + + 1 + id + 1 + + + goods_id + t_goods + id + + + warehouse_id + t_warehouse + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + int|0s + + + 6 + varchar(256)|0s + + + 7 + varchar(50)|0s + 1 + + + 8 + bigint|0s + + + parent_id + btree + + + 1 + id + 1 + + + parent_id + t_menu + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(50)|0s + 1 + + + 6 + tinyint(1)|0s + 1 + + + 7 + varchar(8)|0s + 1 + + + 8 + varchar(200)|0s + 1 + + + 9 + varchar(512)|0s + 1 + + + 10 + bigint|0s + + + menu_id + btree + + + 1 + id + 1 + + + menu_id + t_menu + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + datetime(6)|0s + 1 + + + 6 + varchar(28)|0s + 1 + + + 7 + decimal(5,2 digit)|0s + 1 + + + 8 + decimal(10,2 digit)|0s + 1 + + + 9 + varchar(512)|0s + + + 10 + decimal(13,2 digit)|0s + 1 + + + 11 + decimal(10,2 digit)|0s + 1 + + + 12 + decimal(10,2 digit)|0s + 1 + + + 13 + varchar(1)|0s + 1 + + + 14 + varchar(20)|0s + + + 15 + varchar(20)|0s + + + 16 + varchar(30)|0s + + + 17 + varchar(20)|0s + + + 18 + bigint|0s + + + 19 + bigint|0s + + + 20 + bigint|0s + + + 21 + bigint|0s + + + account_id + btree + + + check_user_id + btree + + + operator_user_id + btree + + + supplier_id + btree + + + 1 + id + 1 + + + account_id + t_settlement_account + id + + + check_user_id + t_user + id + + + operator_user_id + t_user + id + + + supplier_id + t_supplier + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(20)|0s + 1 + + + 6 + varchar(50)|0s + + + 7 + varchar(28)|0s + + + 8 + varchar(512)|0s + + + 9 + decimal(10,2 digit)|0s + 1 + + + 10 + decimal(10,2 digit)|0s + 1 + + + 11 + decimal(10,2 digit)|0s + 1 + + + 12 + bigint|0s + + + 13 + bigint|0s + + + goods_id + btree + + + purchase_id + btree + + + 1 + id + 1 + + + goods_id + t_goods + id + + + purchase_id + t_purchase + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(32)|0s + 1 + + + name + 1 + btree + + + 1 + id + 1 + + + name + name + + + 1 + bigint|0s + 1 + null + + + 2 + bigint|0s + 1 + + + 3 + bigint|0s + 1 + + + rolesmodel_id +permissionsmodel_id + 1 + btree + + + permissionsmodel_id + btree + + + 1 + id + 1 + + + rolesmodel_id +permissionsmodel_id + t_roles_permissions_rolesmodel_id_permission_791416f1_uniq + + + rolesmodel_id + t_roles + id + + + permissionsmodel_id + t_permissions + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(28)|0s + 1 + + + 7 + varchar(512)|0s + + + 8 + decimal(10,2 digit)|0s + + + 9 + decimal(10,2 digit)|0s + + + 10 + int|0s + 1 + + + 11 + tinyint(1)|0s + 1 + + + name + 1 + btree + + + number_code + 1 + btree + + + 1 + id + 1 + + + name + name + + + number_code + number_code + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(11)|0s + + + 7 + varchar(22)|0s + + + 8 + varchar(22)|0s + + + 9 + varchar(50)|0s + + + 10 + varchar(50)|0s + + + 11 + varchar(50)|0s + + + 12 + varchar(50)|0s + + + 13 + varchar(50)|0s + + + 14 + varchar(50)|0s + + + 15 + varchar(50)|0s + + + 16 + varchar(50)|0s + + + 17 + varchar(512)|0s + + + 18 + decimal(20,2 digit)|0s + 1 + + + 19 + decimal(20,2 digit)|0s + 1 + + + 20 + int|0s + 1 + + + name + 1 + btree + + + 1 + id + 1 + + + name + name + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(20)|0s + 1 + + + 6 + varchar(20)|0s + + + 7 + varchar(512)|0s + + + basic_name + 1 + btree + + + 1 + id + 1 + + + basic_name + basic_name + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(128)|0s + 1 + + + 3 + datetime(6)|0s + + + 4 + tinyint(1)|0s + 1 + + + 5 + varchar(150)|0s + 1 + + + 6 + varchar(150)|0s + 1 + + + 7 + varchar(150)|0s + 1 + + + 8 + varchar(254)|0s + 1 + + + 9 + tinyint(1)|0s + 1 + + + 10 + tinyint(1)|0s + 1 + + + 11 + datetime(6)|0s + 1 + + + 12 + varchar(11)|0s + + + 13 + varchar(128)|0s + + + 14 + bigint|0s + + + username + 1 + btree + + + phone + 1 + btree + + + dept_id + btree + + + 1 + id + 1 + + + username + username + + + phone + phone + + + dept_id + t_dept + id + + + 1 + bigint|0s + 1 + null + + + 2 + bigint|0s + 1 + + + 3 + int|0s + 1 + + + usermodel_id +group_id + 1 + btree + + + group_id + btree + + + 1 + id + 1 + + + usermodel_id +group_id + t_user_groups_usermodel_id_group_id_549edf93_uniq + + + usermodel_id + t_user + id + + + group_id + auth_group + id + + + 1 + bigint|0s + 1 + null + + + 2 + bigint|0s + 1 + + + 3 + int|0s + 1 + + + usermodel_id +permission_id + 1 + btree + + + permission_id + btree + + + 1 + id + 1 + + + usermodel_id +permission_id + t_user_user_permissions_usermodel_id_permission_id_190f53a6_uniq + + + usermodel_id + t_user + id + + + permission_id + auth_permission + id + + + 1 + bigint|0s + 1 + null + + + 2 + bigint|0s + 1 + + + 3 + bigint|0s + 1 + + + usermodel_id +rolesmodel_id + 1 + btree + + + rolesmodel_id + btree + + + 1 + id + 1 + + + usermodel_id +rolesmodel_id + t_users_roles_usermodel_id_rolesmodel_id_c10fb137_uniq + + + usermodel_id + t_user + id + + + rolesmodel_id + t_roles + id + + + 1 + bigint|0s + 1 + null + + + 2 + varchar(1)|0s + 1 + + + 3 + datetime(6)|0s + 1 + + + 4 + datetime(6)|0s + 1 + + + 5 + varchar(100)|0s + 1 + + + 6 + varchar(50)|0s + + + 7 + varchar(50)|0s + + + 8 + varchar(50)|0s + + + 9 + varchar(50)|0s + + + 10 + varchar(512)|0s + + + 11 + decimal(10,2 digit)|0s + + + 12 + decimal(10,2 digit)|0s + + + 13 + int|0s + 1 + + + 14 + tinyint(1)|0s + 1 + + + 15 + bigint|0s + + + name + 1 + btree + + + leader_user_id + btree + + + 1 + id + 1 + + + name + name + + + leader_user_id + t_user + id + + + \ No newline at end of file diff --git a/ERP_5/apps/basic_info/migrations/0001_initial.py b/ERP_5/apps/basic_info/migrations/0001_initial.py new file mode 100644 index 0000000..51472bf --- /dev/null +++ b/ERP_5/apps/basic_info/migrations/0001_initial.py @@ -0,0 +1,162 @@ +# Generated by Django 3.2.16 on 2023-04-01 21:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='City', + fields=[ + ('id', models.IntegerField(primary_key=True, serialize=False)), + ('c_name', models.CharField(max_length=30, verbose_name='城市名称')), + ], + options={ + 'verbose_name': '城市表', + 'verbose_name_plural': '城市表', + 'db_table': 'city', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='CustomerModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='客户名称')), + ('mobile', models.CharField(blank=True, max_length=11, null=True, verbose_name='手机号码')), + ('phone', models.CharField(blank=True, max_length=22, null=True, verbose_name='联系电话')), + ('contacts_name', models.CharField(blank=True, max_length=22, null=True, verbose_name='联系人名')), + ('email', models.CharField(blank=True, max_length=50, null=True, verbose_name='电子邮箱')), + ('ratepayer_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='纳税人识别号码')), + ('bank', models.CharField(blank=True, max_length=50, null=True, verbose_name='开户银行')), + ('account_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='银行账号')), + ('nation', models.CharField(blank=True, max_length=50, null=True, verbose_name='国家')), + ('province', models.CharField(blank=True, max_length=50, null=True, verbose_name='省份')), + ('city', models.CharField(blank=True, max_length=50, null=True, verbose_name='城市')), + ('address', models.CharField(blank=True, max_length=50, null=True, verbose_name='详细地址')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('init_receivable', models.DecimalField(blank=True, decimal_places=2, max_digits=20, null=True, verbose_name='初期应收')), + ('current_receivable', models.DecimalField(blank=True, decimal_places=2, max_digits=20, null=True, verbose_name='末期应收')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ], + options={ + 'verbose_name': '客户', + 'verbose_name_plural': '客户', + 'db_table': 't_customer', + 'ordering': ['order_number', 'id'], + }, + ), + migrations.CreateModel( + name='Nation', + fields=[ + ('id', models.IntegerField(primary_key=True, serialize=False)), + ('n_name', models.CharField(max_length=30, verbose_name='国家名称')), + ], + options={ + 'verbose_name': '国家表', + 'verbose_name_plural': '国家表', + 'db_table': 'nation', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='Province', + fields=[ + ('id', models.IntegerField(primary_key=True, serialize=False)), + ('p_name', models.CharField(max_length=30, verbose_name='省份名称')), + ], + options={ + 'verbose_name': '省份表', + 'verbose_name_plural': '省份表', + 'db_table': 'province', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='SettlementAccountModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='仓库名称')), + ('number_code', models.CharField(max_length=28, unique=True, verbose_name='编号')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('init_amount', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='初期金额')), + ('balance', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='余额')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ('is_default', models.BooleanField(default=False, verbose_name='是否默认')), + ], + options={ + 'verbose_name': '结算账户', + 'verbose_name_plural': '结算账户', + 'db_table': 't_settlement_account', + 'ordering': ['order_number', 'id'], + }, + ), + migrations.CreateModel( + name='SupplierModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='供应商名称')), + ('mobile', models.CharField(blank=True, max_length=11, null=True, verbose_name='手机号码')), + ('phone', models.CharField(blank=True, max_length=22, null=True, verbose_name='联系电话')), + ('contacts_name', models.CharField(blank=True, max_length=22, null=True, verbose_name='联系人名')), + ('email', models.CharField(blank=True, max_length=50, null=True, verbose_name='电子邮箱')), + ('ratepayer_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='纳税人识别号码')), + ('bank', models.CharField(blank=True, max_length=50, null=True, verbose_name='开户银行')), + ('account_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='银行账号')), + ('nation', models.CharField(blank=True, max_length=50, null=True, verbose_name='国家')), + ('province', models.CharField(blank=True, max_length=50, null=True, verbose_name='省份')), + ('city', models.CharField(blank=True, max_length=50, null=True, verbose_name='城市')), + ('address', models.CharField(blank=True, max_length=50, null=True, verbose_name='详细地址')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('init_pay', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=20, verbose_name='初期应付')), + ('current_pay', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=20, verbose_name='末期应付')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ], + options={ + 'verbose_name': '供应商', + 'verbose_name_plural': '供应商', + 'db_table': 't_supplier', + 'ordering': ['order_number', 'id'], + }, + ), + migrations.CreateModel( + name='WarehouseModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='仓库名称')), + ('nation', models.CharField(blank=True, max_length=50, null=True, verbose_name='国家')), + ('province', models.CharField(blank=True, max_length=50, null=True, verbose_name='省份')), + ('city', models.CharField(blank=True, max_length=50, null=True, verbose_name='城市')), + ('address', models.CharField(blank=True, max_length=50, null=True, verbose_name='详细地址')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('warehouse_fee', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='仓储费用(元/天/KG)')), + ('truckage', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='搬运费用')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ('is_default', models.BooleanField(default=False, verbose_name='是否默认的仓库')), + ], + options={ + 'verbose_name': '仓库', + 'verbose_name_plural': '仓库', + 'db_table': 't_warehouse', + 'ordering': ['order_number', 'id'], + }, + ), + ] diff --git a/ERP_5/apps/basic_info/migrations/0002_initial.py b/ERP_5/apps/basic_info/migrations/0002_initial.py new file mode 100644 index 0000000..79a06a1 --- /dev/null +++ b/ERP_5/apps/basic_info/migrations/0002_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.16 on 2023-04-01 21:07 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('basic_info', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddField( + model_name='warehousemodel', + name='leader_user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='仓库负责人'), + ), + migrations.AddField( + model_name='province', + name='nation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='province_list', to='basic_info.nation', verbose_name='省份所在的国家'), + ), + migrations.AddField( + model_name='city', + name='province', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='city_list', to='basic_info.province', verbose_name='城市所在的省份'), + ), + ] diff --git a/ERP_5/apps/erp_system/migrations/0001_initial.py b/ERP_5/apps/erp_system/migrations/0001_initial.py new file mode 100644 index 0000000..03f2fec --- /dev/null +++ b/ERP_5/apps/erp_system/migrations/0001_initial.py @@ -0,0 +1,123 @@ +# Generated by Django 3.2.16 on 2023-04-01 21:07 + +import django.contrib.auth.models +import django.contrib.auth.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.CreateModel( + name='Menu', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('number', models.IntegerField(blank=True, null=True, verbose_name='排序数字')), + ('url', models.CharField(blank=True, max_length=256, null=True, verbose_name='菜单访问的URL')), + ('name', models.CharField(max_length=50, verbose_name='菜单名字')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='erp_system.menu')), + ], + options={ + 'verbose_name': '功能菜单', + 'verbose_name_plural': '功能菜单', + 'db_table': 't_menu', + 'ordering': ['number'], + }, + ), + migrations.CreateModel( + name='PermissionsModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=50, verbose_name='权限名')), + ('is_menu', models.BooleanField(default=True, verbose_name='是否为菜单')), + ('method', models.CharField(blank=True, choices=[('POST', '增'), ('DELETE', '删'), ('PUT', '改'), ('PATCH', '改局部'), ('GET', '查')], default='', max_length=8, verbose_name='请求方法')), + ('path', models.CharField(blank=True, default='', max_length=200, verbose_name='请求路径')), + ('desc', models.CharField(blank=True, default='', max_length=512, verbose_name='权限描述')), + ('menu', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='permissions_list', to='erp_system.menu')), + ], + options={ + 'verbose_name': '权限', + 'verbose_name_plural': '权限', + 'db_table': 't_permissions', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='RolesModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=32, unique=True, verbose_name='角色名字')), + ('permissions', models.ManyToManyField(blank=True, db_table='t_roles_permissions', to='erp_system.PermissionsModel', verbose_name='权限')), + ], + options={ + 'verbose_name': '角色', + 'verbose_name_plural': '角色', + 'db_table': 't_roles', + }, + ), + migrations.CreateModel( + name='DeptModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=32, unique=True, verbose_name='部门')), + ('address', models.CharField(blank=True, default='', max_length=128, verbose_name='部门地址')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='erp_system.deptmodel', verbose_name='父部门')), + ], + options={ + 'verbose_name': '部门', + 'verbose_name_plural': '部门', + 'db_table': 't_dept', + }, + ), + migrations.CreateModel( + name='UserModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), + ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), + ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), + ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), + ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), + ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), + ('phone', models.CharField(blank=True, max_length=11, null=True, unique=True, verbose_name='手机号码')), + ('real_name', models.CharField(blank=True, max_length=128, null=True, verbose_name='真实姓名')), + ('dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='erp_system.deptmodel', verbose_name='用户所在的部门')), + ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), + ('roles', models.ManyToManyField(blank=True, db_table='t_users_roles', to='erp_system.RolesModel', verbose_name='用户所拥有的角色列表')), + ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), + ], + options={ + 'verbose_name': '功能菜单', + 'verbose_name_plural': '功能菜单', + 'db_table': 't_user', + 'ordering': ['id'], + }, + managers=[ + ('objects', django.contrib.auth.models.UserManager()), + ], + ), + ] diff --git a/ERP_5/apps/goods_info/migrations/0001_initial.py b/ERP_5/apps/goods_info/migrations/0001_initial.py new file mode 100644 index 0000000..5560f20 --- /dev/null +++ b/ERP_5/apps/goods_info/migrations/0001_initial.py @@ -0,0 +1,121 @@ +# Generated by Django 3.2.16 on 2023-04-01 21:07 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('basic_info', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='AttachmentModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('a_file', models.FileField(upload_to='', verbose_name='附件或者图片')), + ('a_type', models.CharField(blank=True, choices=[('image', '图片'), ('doc', 'Word文档'), ('excel', 'Excel文档'), ('zip', '压缩文件'), ('other', '其他文件')], max_length=20, null=True, verbose_name='附件的类型')), + ], + options={ + 'verbose_name': '附件表', + 'verbose_name_plural': '附件表', + 'db_table': 't_attachment', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='GoodsCategoryModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=100, verbose_name='类别名称')), + ('number_code', models.CharField(max_length=28, unique=True, verbose_name='编号')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='goods_info.goodscategorymodel')), + ], + options={ + 'verbose_name': '商品类别', + 'verbose_name_plural': '商品类别', + 'db_table': 't_category', + 'ordering': ['order_number', 'id'], + }, + ), + migrations.CreateModel( + name='UnitsModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('basic_name', models.CharField(max_length=20, unique=True, verbose_name='基本单位')), + ('backup_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='副单位')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ], + options={ + 'verbose_name': '计量单位', + 'verbose_name_plural': '计量单位', + 'db_table': 't_units', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='GoodsModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=20, unique=True, verbose_name='货品名称')), + ('specification', models.CharField(blank=True, max_length=50, null=True, verbose_name='规格')), + ('model_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='型号')), + ('color', models.CharField(blank=True, max_length=50, null=True, verbose_name='颜色')), + ('basic_weight', models.CharField(blank=True, max_length=50, null=True, verbose_name='基础重量')), + ('expiration_day', models.IntegerField(blank=True, null=True, verbose_name='保质期')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('number_code', models.CharField(max_length=28, unique=True, verbose_name='编号或者批号')), + ('purchase_price', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='采购价')), + ('retail_price', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='零售价')), + ('sales_price', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='销售价')), + ('lowest_price', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='最低售价')), + ('order_number', models.IntegerField(default=100, verbose_name='排序号码')), + ('images_list', models.CharField(blank=True, max_length=20, null=True, verbose_name='商品附件所对应的id列表')), + ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.goodscategorymodel')), + ('units', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.unitsmodel')), + ], + options={ + 'verbose_name': '货品表', + 'verbose_name_plural': '货品表', + 'db_table': 't_goods', + 'ordering': ['order_number', 'id'], + }, + ), + migrations.CreateModel( + name='GoodsInventoryModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('init_inventory', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='期初库存数量')), + ('cur_inventory', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='现在库存数量')), + ('lowest_inventory', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='最低安全库存, 0表示不设置')), + ('highest_inventory', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='最高安全库存,0表示不设置')), + ('warehouse_name', models.CharField(max_length=50, verbose_name='仓库的名称')), + ('goods', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='inventory_list', to='goods_info.goodsmodel')), + ('warehouse', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='basic_info.warehousemodel')), + ], + options={ + 'verbose_name': '货品库存表', + 'verbose_name_plural': '货品库存表', + 'db_table': 't_goods_inventory', + 'ordering': ['id'], + }, + ), + ] diff --git a/ERP_5/apps/purchase_info/migrations/0001_initial.py b/ERP_5/apps/purchase_info/migrations/0001_initial.py new file mode 100644 index 0000000..b8e1db8 --- /dev/null +++ b/ERP_5/apps/purchase_info/migrations/0001_initial.py @@ -0,0 +1,75 @@ +# Generated by Django 3.2.16 on 2023-04-01 21:07 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('goods_info', '0001_initial'), + ('basic_info', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='PurchaseModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('invoices_date', models.DateTimeField(verbose_name='单据日期')), + ('number_code', models.CharField(max_length=28, verbose_name='单据编号,不让用户填写')), + ('discount', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=5, verbose_name='优惠率,最多精确到小数点后两位')), + ('discount_money', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='优惠金额(付款优惠),最多精确到小数点后两位')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('last_amount', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=13, verbose_name='优惠后总金额,最多精确到小数点后两位')), + ('deposit', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='支付定金,最多精确到小数点后两位')), + ('number_count', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='采购数量,最多精确到小数点后两位')), + ('status', models.CharField(default='0', max_length=1, verbose_name='状态,0:未审核,1:已审核,2:部分入库,3:全部入库,4:完成采购,5:已付定金')), + ('operator_user_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='操作人员的真实姓名')), + ('check_user_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='操作人员的真实姓名')), + ('supplier_name', models.CharField(blank=True, max_length=30, null=True, verbose_name='供应商名称')), + ('attachment_list', models.CharField(blank=True, max_length=20, null=True, verbose_name='附件的id列表,字段的值为: 1,2,3,4')), + ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='basic_info.settlementaccountmodel', verbose_name='结算账户,审核之后不能改')), + ('check_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='审核人员,不能修改')), + ('operator_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operator_purchase_list', to=settings.AUTH_USER_MODEL, verbose_name='采购操作人员,不能修改')), + ('supplier', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='basic_info.suppliermodel', verbose_name='供应商,审核之后不能改')), + ], + options={ + 'verbose_name': '采购表', + 'verbose_name_plural': '采购表', + 'db_table': 't_purchase', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='PurchaseItemModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=20, verbose_name='货品名称')), + ('specification', models.CharField(blank=True, max_length=50, null=True, verbose_name='货品规格')), + ('number_code', models.CharField(blank=True, max_length=28, null=True, verbose_name='货品的编号或者批号')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('purchase_count', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='采购数量,最多精确到小数点后两位')), + ('purchase_price', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='采购单价,最多精确到小数点后两位')), + ('purchase_money', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='采购金额,最多精确到小数点后两位')), + ('goods', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.goodsmodel', verbose_name='货品')), + ('purchase', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='item_list', to='purchase_info.purchasemodel', verbose_name='采购单')), + ], + options={ + 'verbose_name': '采购项表', + 'verbose_name_plural': '采购项表', + 'db_table': 't_purchase_items', + 'ordering': ['id'], + }, + ), + ] diff --git a/ERP_5/apps/warehouse_info/migrations/0001_initial.py b/ERP_5/apps/warehouse_info/migrations/0001_initial.py new file mode 100644 index 0000000..046dd40 --- /dev/null +++ b/ERP_5/apps/warehouse_info/migrations/0001_initial.py @@ -0,0 +1,88 @@ +# Generated by Django 3.2.16 on 2023-04-04 20:18 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('basic_info', '0002_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('goods_info', '0001_initial'), + ('purchase_info', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='PurchaseStorageModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('invoices_date', models.DateTimeField(verbose_name='单据日期')), + ('number_code', models.CharField(max_length=28, verbose_name='单据编号,不让用户填写')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('discount', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=5, null=True, verbose_name='优惠率,最多精确到小数点后两位')), + ('discount_money', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='优惠金额(付款优惠),最多精确到小数点后两位')), + ('last_amount', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=13, null=True, verbose_name='优惠后总金额,最多精确到小数点后两位')), + ('other_money', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='其他费用,最多精确到小数点后两位')), + ('this_payment', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='本次付款,最多精确到小数点后两位')), + ('this_debt', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='本次欠款,最多精确到小数点后两位')), + ('number_count', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, verbose_name='入库总数量,最多精确到小数点后两位')), + ('status', models.CharField(default='0', max_length=1, verbose_name='状态,0:未审核,1:已审核,2:付款完成')), + ('operator_user_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='操作人员的真实姓名')), + ('check_user_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='操作人员的真实姓名')), + ('supplier_name', models.CharField(blank=True, max_length=30, null=True, verbose_name='供应商名称')), + ('attachment_list', models.CharField(blank=True, max_length=20, null=True, verbose_name='附件的id列表,字段的值为: 1,2,3,4')), + ('is_other', models.CharField(default='0', max_length=1, verbose_name='是否是其他入库,0:采购入库,1:其他入库')), + ('account', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='basic_info.settlementaccountmodel', verbose_name='结算账户,审核之后不能改')), + ('check_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='审核人员,不能修改')), + ('operator_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operator_in_list', to=settings.AUTH_USER_MODEL, verbose_name='入库操作人员,不能修改')), + ('purchase', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='purchase_info.purchasemodel', verbose_name='采购订单,审核之后不能改')), + ('supplier', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='basic_info.suppliermodel', verbose_name='供应商,审核之后不能改')), + ], + options={ + 'verbose_name': '入库单表', + 'verbose_name_plural': '入库单表', + 'db_table': 't_purchase_storage', + 'ordering': ['id'], + }, + ), + migrations.CreateModel( + name='PurchaseStorageItemModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delete_flag', models.CharField(default='0', help_text='是否启用', max_length=1, verbose_name='是否启用')), + ('create_time', models.DateTimeField(auto_now_add=True, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='更新时间', verbose_name='更新时间')), + ('name', models.CharField(max_length=20, verbose_name='货品名称')), + ('number_code', models.CharField(blank=True, max_length=28, null=True, verbose_name='货品的编号或者批号')), + ('specification', models.CharField(blank=True, max_length=50, null=True, verbose_name='货品规格')), + ('model_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='型号')), + ('color', models.CharField(blank=True, max_length=50, null=True, verbose_name='颜色')), + ('units_name', models.CharField(blank=True, max_length=50, null=True, verbose_name='单位名字')), + ('category_name', models.CharField(blank=True, max_length=50, null=True, verbose_name='货品类别名称')), + ('remark', models.CharField(blank=True, max_length=512, null=True, verbose_name='备注')), + ('purchase_count', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='入库数量,最多精确到小数点后两位')), + ('purchase_price', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='采购单价,最多精确到小数点后两位')), + ('purchase_money', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='采购金额,最多精确到小数点后两位')), + ('warehouse_name', models.CharField(max_length=50, null=True, verbose_name='仓库名字')), + ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.goodscategorymodel')), + ('goods', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.goodsmodel', verbose_name='货品')), + ('purchase_storage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='item_list', to='warehouse_info.purchasestoragemodel', verbose_name='采购入库单')), + ('units', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='goods_info.unitsmodel')), + ('warehouse', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='basic_info.warehousemodel', verbose_name='入库的仓库')), + ], + options={ + 'verbose_name': '入库单的项目表', + 'verbose_name_plural': '入库单的项目表', + 'db_table': 't_purchase_storage_items', + 'ordering': ['id'], + }, + ), + ]