# generate_locations.py
import os
import django
import sys


def setup_django():
    # 使用原始字符串处理Windows路径
    project_path = "D:/Document/code/vue/greater_wms"
    sys.path.append(project_path)
    
    # 根据实际目录名设置(注意下划线)
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'greaterwms.settings')
    django.setup()

def main():
    try:
        # 从正确的应用导入模型
        from warehouse.models import ListModel,DepartmentListModel,BoundTypeListModel,BoundBSListModel,BoundCodeTypeListModel,BoundStatusListModel,ProductListModel

        warehouse_code = "W01"
        ListModel.objects.filter(openid="PDA1").delete()
        warehouse_obj =ListModel.objects.create(
            warehouse_code=warehouse_code,
            warehouse_name="立体仓库",
            warehouse_city="测试城市",
            warehouse_address="测试地址",
            warehouse_contact="测试联系人",
            warehouse_manager="测试经理",
            creater="测试创建人",
            openid="PDA1",
            is_delete=False,

        )
        print(f"开始生成库位,仓库编码:{warehouse_code}")
        DepartmentListModel.objects.filter(openid="PDA1").delete()
        DepartmentListModel.objects.create(
            department_code="D01",
            department_name="测试部门",
            department_contact="测试联系人",
            department_manager="测试经理",
            openid="PDA1",
            creater="测试创建人",
            is_delete=False,
        )
        BoundTypeListModel.objects.filter(openid="PDA1").delete()
        BoundTypeListModel.objects.create(
            bound_type_code="B01",
            bound_type_name="立体包装",
            creater="测试创建人",
            openid="PDA1",
            is_delete=False,
        )
        BoundBSListModel.objects.filter(openid="PDA1").delete()
        BoundBSListModel.objects.create(
            bound_bs_code="B01",
            bound_bs_name="测试业务",
            creater="测试创建人",
            openid="PDA1",
            is_delete=False,
        )
        BoundCodeTypeListModel.objects.filter(openid="PDA1").delete()
        BoundCodeTypeListModel.objects.create(
            bound_code_type_code="BC01",
            bound_code_type_name="测试编码类型",
            creater="测试创建人",
            openid="PDA1",
            is_delete=False,
        )
        code = [100,101,102]
        name = ["入库申请","入库同意","组盘中"]
        index = 0
        BoundStatusListModel.objects.filter(openid="PDA1").delete()
        for i in code:
            BoundStatusListModel.objects.create(
                bound_status_code=i,
                bound_status_name=name[index],
                creater="测试创建人",
                openid="PDA1",
            )
            index += 1

        print("✅ 库位生成成功!")
  
        
    except Exception as e:
        print(f"❌ 生成失败:{str(e)}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    setup_django()
    main()