package cn.sagacloud.server.algorithm.backstage.sync

import com.persagy.revit.backstage.model.DCComponent
import com.persagy.revit.backstage.model.DCEquipment
import com.persagy.revit.backstage.model.DCISpace
import com.alibaba.fastjson.JSONObject
import org.springframework.stereotype.Component

/**
 *
 *
 * @author jxing
 */
@Component
class BindFloorSync {

    var originEquipment : HashMap<String, JSONObject>? = null
    var originISpace : HashMap<String, JSONObject>? = null
    var originComponent : HashMap<String, JSONObject>? = null
    var compareEquipment : HashMap<String, DCEquipment>? = null
    var compareISpace : HashMap<String, DCISpace>? = null
    var compareComponent : HashMap<String, DCComponent>? = null


    var equipCreateList = ArrayList<JSONObject>()
    var equipDeleteList = ArrayList<JSONObject>()
    var equipUpdateList = ArrayList<JSONObject>()

    var iSpaceCreateList = ArrayList<JSONObject>()
    var iSpaceDeleteList = ArrayList<JSONObject>()
    var iSpaceUpdateList = ArrayList<JSONObject>()

    var componentCreateList = ArrayList<JSONObject>()
    var componentDeleteList = ArrayList<JSONObject>()
    var componentUpdateList = ArrayList<JSONObject>()

    fun matchClassifyEquipment(){

    }

    fun matchClassifyISpace(){

    }

    fun matchClassifyComponent(){

    }

    fun addOriginEquipment(equipment : HashMap<String, JSONObject>) : BindFloorSync{
        originEquipment = equipment
        return this
    }
    fun addOriginISpace(iSpace : HashMap<String, JSONObject>) : BindFloorSync{
        originISpace = iSpace
        return this
    }
    fun addOriginComponent(component : HashMap<String, JSONObject>) : BindFloorSync{
        originComponent = component
        return this
    }

    fun addCompareEquipment(equipment : HashMap<String, DCEquipment>) : BindFloorSync{
        compareEquipment = equipment
        return this
    }
    fun addCompareISpace(iSpace : HashMap<String, DCISpace>) : BindFloorSync{
        compareISpace = iSpace
        return this
    }
    fun addCompareComponent(component : HashMap<String, DCComponent>) : BindFloorSync{
        compareComponent = component
        return this
    }


}