package com.steering.pss.qcm;

import CoreFS.SA08.CoreXmlSqlParsersFactory;

import java.util.ArrayList;
import CoreFS.SA06.CoreReturnObject;
import com.steering.comm.db.DBCommon;
import com.steering.comm.tools.StringTool;

@SuppressWarnings("unchecked")
public class MSCCraft extends DBCommon {

    public CoreReturnObject InitStation(String msc, String mscPline, String processCode) {
    	String sql = CoreXmlSqlParsersFactory.getSql("MSCCraft.InitStation");
    	sql = StringTool.ReplaceAll(sql, "#MSC#", msc);
    	sql = StringTool.ReplaceAll(sql, "#MSC_PLINE#", mscPline);
    	sql = StringTool.ReplaceAll(sql, "#PROCESS_CODE#", processCode);
    	return this.getData(sql);
    }

    public CoreReturnObject GetJGSpec() {
        return this.getDataBySqlID("MSCCraft.JGSpec"); // 获取接箍规格代码、名称
    }

    public CoreReturnObject GetParam() {
        return this.getDataBySqlID("MSCCraft.Param"); // 获取从项参数代码、名称
    }

    /**
     * Title: doQuery
     * Description:冶金规范工艺标准查询
     * @param parm  查询的条件
     * @return 平台统一返回对象
     */
    public CoreReturnObject doQuery(ArrayList<Object> parm) {
        Object[] obj = parm.toArray();
        return this.getDataBySqlID("MSCCraft.QUERY", obj);
    }

    /**
     * Title: doSave
     * Description: 保存界面上维护的冶金规范工艺标准
     * @param parms 需要维护的冶金规范工艺标准的数据
     * @param parm   左边树激活的所带的参数
     * @return     平台统一的返回值
     */
    public CoreReturnObject doSave(ArrayList<Object> parms,
            ArrayList<Object> parm) {
        CoreReturnObject cro = new CoreReturnObject();
        ArrayList<Object> sqlIDList = new ArrayList<Object>(); // 要执行的SQL语句集合
        ArrayList<Object[]> parmlist = new ArrayList<Object[]>(); // 执行SQL语句集合需要的参数
        sqlIDList.add(CoreXmlSqlParsersFactory.getSql("MSCCraft.DELETE"));
        Object[] obj = parm.toArray();
        parmlist.add(obj);
        if (parms.size() > 0) {
            for (int i = 0; i < parms.size(); i++) {
                ArrayList<Object> list = (ArrayList<Object>) parms.get(i);
                parmlist.add(list.toArray());
                sqlIDList.add(CoreXmlSqlParsersFactory.getSql("MSCCraft.ADD"));
            }
        }
        //以事务的方式处理SQL语句集合，一个失败，全部不能成功。
        cro = this.getDao("TgDao").ExcuteTransction(sqlIDList, parmlist);
        return cro;
    }
    
    /**
     * Title: doDelete
     * Description: 保存界面上维护的冶金规范工艺标准
     * @param parms 需要维护的冶金规范工艺标准的数据
     * @param parm   左边树激活的所带的参数
     * @return     平台统一的返回值
     */
    public CoreReturnObject doDelete(ArrayList<Object> parm) {
        CoreReturnObject cro = new CoreReturnObject();
        ArrayList<Object> sqlIDList = new ArrayList<Object>(); // 要执行的SQL语句集合
        ArrayList<Object[]> parmlist = new ArrayList<Object[]>(); // 执行SQL语句集合需要的参数
        sqlIDList.add(CoreXmlSqlParsersFactory.getSql("MSCCraft.DELETE"));
        Object[] obj = parm.toArray();
        parmlist.add(obj);
        //以事务的方式处理SQL语句集合，一个失败，全部不能成功。
        cro = this.getDao("TgDao").ExcuteTransction(sqlIDList, parmlist);
        return cro;
    }
}
