# 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()
        department_code_list = [
                        "okyy01",
                        "okyy0101",
                        "okyy0102",
                        "okyy010201",
                        "okyy010202",
                        "okyy0103",
                        "okyy010301",
                        "okyy010302",
                        "okyy01030201",
                        "okyy01030202",
                        "okyy0104",
                        "okyy0105",
                        "okyy0106",
                        "okyy010601",
                        "okyy010602",
                        "okyy010603",
                        "okyy010604",
                        "okyy0107",
                        "okyy010701",
                        "okyy01070101",
                        "okyy01070102",
                        "okyy010702",
                        "okyy010703",
                        "okyy010704",
                        "okyy0108",
                        "okyy0109",
                        "okyy010901",
                        "okyy010902",
                        "okyy010903",
                        "okyy0110",
                        "okyy0111",
                        "okyy011101",
                        "okyy011102",
                        "okyy0112",
                        "okyy011201",
                        "okyy011202",
                        "okyy0113"]

        department_name_list = [
                        "成都欧康医药股份有限公司",
                        "供应部",
                        "综合部",
                        "行政人事部",
                        "工程部",
                        "环安部",
                        "环保部",
                        "污水处理车间",
                        "污水A区",
                        "污水B区",
                        "技术部",
                        "内审部",
                        "生产一部",
                        "一车间",
                        "三车间",
                        "六车间",
                        "生产一部办公室",
                        "生产二部",
                        "设备动力部",
                        "设备部",
                        "动力车间",
                        "二车间",
                        "五车间",
                        "生产二部办公室",
                        "研发中心",
                        "营销中心",
                        "物流单证部",
                        "业务一部",
                        "业务二部",
                        "证券部",
                        "质量部",
                        "质保部QA",
                        "质控部QC",
                        "资财部",
                        "仓储部",
                        "财务部",
                        "总经理"]

        index = 0
        for i in department_code_list:

            DepartmentListModel.objects.create(
                department_code=i,
                department_name=department_name_list[index],
                department_contact="联系方式",
                department_manager="部门联系人",
        
                openid="PDA1",
                creater="ERP",
                is_delete=False,
            )
            index += 1



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