/** * 业务模型关联配置(模板默认为空实现,按需取消注释或补充) * @param {Object} models - 所有模型对象 */ module.exports = (models) => { // ========== 仓库主数据 ========== // models["war_warehouse"].hasMany(models["war_laneway"], { // foreignKey: "warehouse_id", // sourceKey: "id", // as: "laneways", // }); // models["war_laneway"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["war_warehouse"].hasMany(models["war_rack"], { // foreignKey: "warehouse_id", // sourceKey: "id", // as: "racks", // }); // models["war_rack"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["war_warehouse"].hasMany(models["war_area"], { // foreignKey: "warehouse_id", // sourceKey: "id", // as: "areas", // }); // models["war_area"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["war_warehouse"].hasMany(models["war_location"], { // foreignKey: "warehouse_id", // sourceKey: "id", // as: "locations", // }); // models["war_location"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // // 货位从属(可选) // models["war_area"].hasMany(models["war_location"], { // foreignKey: "area_id", // sourceKey: "id", // as: "area_locations", // }); // models["war_location"].belongsTo(models["war_area"], { // foreignKey: "area_id", // targetKey: "id", // as: "area", // }); // models["war_laneway"].hasMany(models["war_location"], { // foreignKey: "laneway_id", // sourceKey: "id", // as: "laneway_locations", // }); // models["war_location"].belongsTo(models["war_laneway"], { // foreignKey: "laneway_id", // targetKey: "id", // as: "laneway", // }); // models["war_rack"].hasMany(models["war_location"], { // foreignKey: "rack_id", // sourceKey: "id", // as: "rack_locations", // }); // models["war_location"].belongsTo(models["war_rack"], { // foreignKey: "rack_id", // targetKey: "id", // as: "rack", // }); // // ========== 托盘主数据 ========== // models["try_tray_type"].hasMany(models["try_tray"], { // foreignKey: "tray_type_id", // sourceKey: "id", // as: "trays", // }); // models["try_tray"].belongsTo(models["try_tray_type"], { // foreignKey: "tray_type_id", // targetKey: "id", // as: "tray_type", // }); // // ========== 合作方与物料主数据 ========== // models["par_customer"].hasMany(models["mat_material"], { // foreignKey: "customer_id", // sourceKey: "id", // as: "materials", // }); // models["mat_material"].belongsTo(models["par_customer"], { // foreignKey: "customer_id", // targetKey: "id", // as: "customer", // }); // models["par_supplier"].hasMany(models["mat_material"], { // foreignKey: "supplier_id", // sourceKey: "id", // as: "materials", // }); // models["mat_material"].belongsTo(models["par_supplier"], { // foreignKey: "supplier_id", // targetKey: "id", // as: "supplier", // }); // models["mat_type"].hasMany(models["mat_material"], { // foreignKey: "material_type_id", // sourceKey: "id", // as: "materials", // }); // models["mat_material"].belongsTo(models["mat_type"], { // foreignKey: "material_type_id", // targetKey: "id", // as: "material_type", // }); // models["mat_measure"].hasMany(models["mat_material"], { // foreignKey: "measure_id", // sourceKey: "id", // as: "materials", // }); // models["mat_material"].belongsTo(models["mat_measure"], { // foreignKey: "measure_id", // targetKey: "id", // as: "measure", // }); // // ========== 条码主数据 ========== // models["mat_material"].hasMany(models["bar_code"], { // foreignKey: "material_id", // sourceKey: "id", // as: "barcodes", // }); // models["bar_code"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // models["bar_type"].hasMany(models["bar_code"], { // foreignKey: "bar_type_id", // sourceKey: "id", // as: "barcodes", // }); // models["bar_code"].belongsTo(models["bar_type"], { // foreignKey: "bar_type_id", // targetKey: "id", // as: "bar_type", // }); // if (models["sys_user"]) { // models["bar_code"].belongsTo(models["sys_user"], { // foreignKey: "created_by_user_id", // targetKey: "id", // as: "created_by_user", // }); // } // // ========== 收货/发货业务 ========== // models["rec_receiving"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["rec_receiving"].hasMany(models["rec_receiving_item"], { // foreignKey: "receiving_id", // sourceKey: "id", // as: "items", // }); // models["rec_receiving_item"].belongsTo(models["rec_receiving"], { // foreignKey: "receiving_id", // targetKey: "id", // as: "receiving", // }); // models["rec_receiving_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // models["rec_send"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["rec_send"].hasMany(models["rec_send_item"], { // foreignKey: "send_id", // sourceKey: "id", // as: "items", // }); // models["rec_send_item"].belongsTo(models["rec_send"], { // foreignKey: "send_id", // targetKey: "id", // as: "send", // }); // models["rec_send_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 入库作业 ========== // models["job_inbound"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["job_inbound"].hasMany(models["job_inbound_item"], { // foreignKey: "inbound_id", // sourceKey: "id", // as: "items", // }); // models["job_inbound_item"].belongsTo(models["job_inbound"], { // foreignKey: "inbound_id", // targetKey: "id", // as: "inbound", // }); // models["job_inbound_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 出库作业 ========== // models["job_outbound"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["job_outbound"].hasMany(models["job_outbound_item"], { // foreignKey: "outbound_id", // sourceKey: "id", // as: "items", // }); // models["job_outbound_item"].belongsTo(models["job_outbound"], { // foreignKey: "outbound_id", // targetKey: "id", // as: "outbound", // }); // models["job_outbound_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 移库 ========== // models["job_move"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["job_move"].hasMany(models["job_move_item"], { // foreignKey: "move_id", // sourceKey: "id", // as: "items", // }); // models["job_move_item"].belongsTo(models["job_move"], { // foreignKey: "move_id", // targetKey: "id", // as: "move", // }); // models["job_move_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 调拨 ========== // models["job_allocate"].belongsTo(models["war_warehouse"], { // foreignKey: "from_warehouse_id", // targetKey: "id", // as: "from_warehouse", // }); // models["job_allocate"].belongsTo(models["war_warehouse"], { // foreignKey: "to_warehouse_id", // targetKey: "id", // as: "to_warehouse", // }); // models["job_allocate"].hasMany(models["job_allocate_item"], { // foreignKey: "allocate_id", // sourceKey: "id", // as: "items", // }); // models["job_allocate_item"].belongsTo(models["job_allocate"], { // foreignKey: "allocate_id", // targetKey: "id", // as: "allocate", // }); // models["job_allocate_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 报损 ========== // models["job_damage"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // models["job_damage"].hasMany(models["job_damage_item"], { // foreignKey: "damage_id", // sourceKey: "id", // as: "items", // }); // models["job_damage_item"].belongsTo(models["job_damage"], { // foreignKey: "damage_id", // targetKey: "id", // as: "damage", // }); // models["job_damage_item"].belongsTo(models["mat_material"], { // foreignKey: "material_id", // targetKey: "id", // as: "material", // }); // // ========== 盘点 ========== // models["job_count"].belongsTo(models["war_warehouse"], { // foreignKey: "warehouse_id", // targetKey: "id", // as: "warehouse", // }); // ========== 订阅模块(biz_*)========== const m = models; if (m.biz_user && m.biz_subscription) { m.biz_user.hasMany(m.biz_subscription, { foreignKey: "user_id", as: "subscriptions" }); m.biz_subscription.belongsTo(m.biz_user, { foreignKey: "user_id", as: "biz_user" }); } if (m.biz_plan && m.biz_subscription) { m.biz_plan.hasMany(m.biz_subscription, { foreignKey: "plan_id", as: "subscriptions" }); m.biz_subscription.belongsTo(m.biz_plan, { foreignKey: "plan_id", as: "biz_plan" }); } if (m.biz_user && m.biz_api_token) { m.biz_user.hasMany(m.biz_api_token, { foreignKey: "user_id", as: "api_tokens" }); m.biz_api_token.belongsTo(m.biz_user, { foreignKey: "user_id", as: "biz_user" }); } if (m.biz_plan && m.biz_api_token) { m.biz_plan.hasMany(m.biz_api_token, { foreignKey: "plan_id", as: "api_tokens" }); m.biz_api_token.belongsTo(m.biz_plan, { foreignKey: "plan_id", as: "biz_plan" }); } if (m.biz_user && m.biz_usage_monthly) { m.biz_user.hasMany(m.biz_usage_monthly, { foreignKey: "user_id", as: "usage_records" }); m.biz_usage_monthly.belongsTo(m.biz_user, { foreignKey: "user_id", as: "biz_user" }); } if (m.biz_plan && m.biz_usage_monthly) { m.biz_plan.hasMany(m.biz_usage_monthly, { foreignKey: "plan_id", as: "usage_records" }); m.biz_usage_monthly.belongsTo(m.biz_plan, { foreignKey: "plan_id", as: "biz_plan" }); } };