package com.persagy.server.services.task

import com.persagy.server.datacenter.dao.mappers.SchemeMapper
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service

/**
 * 数据中心 方案导入服务
 *
 * @author 张维新
 */
@Service
open class SchemeService {

    companion object {
        /** 日志 */
        private val logger = LoggerFactory.getLogger(SchemeService::class.java)
    } // Companion object

    /** 实例化 mapper 对象 */
    @Autowired
    lateinit var mapper: SchemeMapper

    /**
     * 导入方案处理
     *
     * @param      projectId        项目id
     * @param      schemeId         方案id
     */
    fun setScheme(projectId: String, schemeId: String):Boolean{
        try {
            mapper.setSchemeDict(projectId,schemeId)
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return true
    } // Function setScheme()

    /**
     * 导入自定义信息点
     *
     * @param      projectId        项目id
     * @param      schemeId         方案id
     */
    fun setSchemeCustomDict(projectId: String, schemeId: String):Boolean{
        try {
            mapper.setSchemecustomDict(projectId,schemeId)
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return true
    } // Function setSchemeCustomDict()

    /**
     * 导入自定义信息点
     *
     * @param      projectId        项目id
     * @param      schemeId         方案id
     */
    fun setSchemeCustomDictFalse(projectId: String, schemeId: String):Boolean{
        try {
            mapper.setSchemecustomDictFalse(projectId,schemeId)
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return true
    } // Function setSchemeCustomDict()

    /**
     * 导入原始字典信息
     *
     * @param      projectId        项目id
     */
    fun setControlDict(projectId: String):Boolean{
        try {
            mapper.setControlDict(projectId)
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return true
    } // Function setControlDict()


    /**
     * 处理自定义自定数据
     */
    fun setDictCustom():Boolean{
        try {
            val dict = mapper.setDict()
            return dict
        } catch (e: Exception) {
            e.printStackTrace()
            return false
        }
    }

} // Class SchemeService