package com.steering.pss.qcm;

import java.util.ArrayList;

import CoreFS.SA06.CoreReturnObject;
import CoreFS.SA08.CoreXmlSqlParsersFactory;

import com.steering.comm.db.DBCommon;
import com.steering.comm.tools.SqlBuilder;
import com.steering.comm.tools.StringTool;

/**
 * 下拉框动态获取数据类
 * @author Administrator PDY 2014/11/01
 */
public class ComBaseQuery extends DBCommon {
    /**
     * 生产产线基础
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBasePline() {
        return this.getDataBySqlID("ComBaseQuery.COMBASEPLINE");
    }

    /**
     * 基础信息管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBaseInfo() {
        return this.getDataBySqlID("ComBaseQuery.COMBASEINFO");
    }

    /**
     * 扣型管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBaseModel(String modelStyle) {
        Object[] obj = new Object[] { modelStyle, modelStyle, modelStyle };
        return this.getDataBySqlID("ComBaseQuery.COMBASEMODEL", obj);
    }

    /**
     * 扣型管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBaseModel1() {
        return this.getDataBySqlID("ComBaseQuery.COMBASEMODEL1");
    }

    /**
     * 接箍码基础管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComMSCJG() {
        return this.getDataBySqlID("ComBaseQuery.COMMSCJG");
    }

    /**
     * 产能井设置管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBaseWell() {
        return this.getDataBySqlID("ComBaseQuery.COMBASEWELL");
    }

    /**
     * 化学元素基础管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getCombaseChem() {
        return this.getDataBySqlID("ComBaseQuery.CombaseChem");
    }

    /**
     * 化学元素基础管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getCombaseChemA() {
        return this.getDataBySqlID("ComBaseQuery.CombaseChemA");
    }

    /**
     * 钢种管理 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseGrade() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseGrade");
    }

    /**
     * 国标标准 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdG() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdG");
    }
    
    /**
     * 国标标准和协议 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdGX() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdGX");
    }

    /**
     * 内控标准 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdN() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdN");
    }
    
    /**
     * 采购内控标准 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdNPurchase() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdNPurchase");
    }

    /**
     * Alpha 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdK() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdK");
    }

    /**
     * 试验标准 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdSS() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdSS");
    }

    /**
     * 其它标准 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseStdS() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseStdS");
    }

    /**
     * 工序类型等于B 工序基础 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseProcess() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseProcess");
    }

    /**
     * 所有工序基础 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseProcessAll() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseProcessAll");
    }

    /**
     * 所有工序基础 管理
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseProcessAll2() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseProcessAll2");
    }

    /**
     * 基础信息 限制規格
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4003() {

        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4003");
    }

    /**
     * 基础信息 取样长度
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4010() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4010");
    }

    /**
     * 基础信息 取样频率
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4011() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4011");
    }

    /**
     * 基础信息 取样位置
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4012() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4012");
    }

    /**
     * 基础信息 探伤位置
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4020() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4020");
    }

    /**
     * 基础信息 探伤参考标准
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4021() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4021");
    }

    /**
     * 基础信息 探伤级别
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4022() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4022");
    }

    /**
     * 基础信息 刻槽位置(4023)
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4023() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4023");
    }

    /**
     * 基础信息 刻槽方向(4024)
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4024() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4024");
    }

    /**
     * 基础信息 探伤材质项
     * @return 探伤材质
     */
    public CoreReturnObject getComBasePhyD() {
        return this.getDataBySqlID("ComBaseQuery.ComBasePhyD");
    }

    /**
     * 基础信息 公差项
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4040() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4040");
    }

    /**
     * 基础信息 精度等级
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4041() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4041");
    }

    /**
     * 基础信息 交货状态
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBaseInfo4060() {
        return this.getDataBySqlID("ComBaseQuery.ComBaseInfo4060");
    }

    /**
     * 材质检验 大类
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBasePhyRStd() {
        return this.getDataBySqlID("ComBaseQuery.ComBasePhyRStd");
    }

    /**
     * 材质检验 小类
     * @param phyType 大类代码
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBasePhyC(String phyType) {
        Object[] params = new Object[] { phyType };
        return this.getDataBySqlID("ComBaseQuery.ComBasePhyC", params);
    }

    /**
     * 材质检验 检验项
     * @param phyType 大类代码
     * @param phyTypeC 小类代码
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBasePhy(String phyType, String phyTypeC) {
        Object[] params = new Object[] { phyTypeC };
        return this.getDataBySqlID("ComBaseQuery.ComBasePhy", params);
    }

    /**
     * 材质检验 检验项 POO1
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBasePhyByP001() {

        return this.getDataBySqlID("ComBaseQuery.ComBasePhyP001");
    }

    /**
     * 材质检验 方向、温度、尺寸
     * @param phyType 检验代码
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBasePhyRItem(String phyTypeC) {
        Object[] params = new Object[] { phyTypeC };
        return this.getDataBySqlID("ComBaseQuery.ComBasePhyRItem", params);
    }
    
    /**
     * 材质检验 方向、温度、尺寸
     * @param phyType 检验代码
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject geComBasePhyRPos(String phyCode) {
        Object[] params = new Object[] { phyCode };
        return this.getDataBySqlID("ComBaseQuery.ComBasePhyRPos", params);
    }

    /**
     * 成分偏差
     * @return 返回CoreReturnObject
     */
    public CoreReturnObject getComBaseChemBias() {
        return this.getDataBySqlID("ComBaseQuery.CHEMBIAS");
    }

    /**
     * 产品规范码
     * @return 返回CoreReturnObjecta
     */
    public CoreReturnObject getPsc() {
        return this.getDataBySqlID("ComBaseQuery.GETPSC");
    }

    /**
     * @param stdname 标准名称
     * @return 条数
     */
    public CoreReturnObject getCount(String stdname) {
        Object[] obj = new Object[] { stdname, stdname, stdname, stdname,
                stdname };
        return this.getDataBySqlID("ComBaseQuery.GetCount", obj);
    }

    /**
     * 冶金规范码
     * @return 返回冶金规范
     */
    public CoreReturnObject getMsc(String msc) {
        String sql = CoreXmlSqlParsersFactory.getSql("ComBaseQuery.GETMSC");
        sql = StringTool.ReplaceAll(sql, "#MSC#", msc);
        return this.getData(sql);
    }

    /**
     * 标准类别 初始化
     * @return 标准类别
     */
    public CoreReturnObject getStdStyle() {
        return this.getDataBySqlID("ComBaseQuery.GetStdStyle");
    }

    /**
     * 绑定最终客户 初始化
     * @return 客户
     */
    public CoreReturnObject getCustomer() {
        return this.getDataBySqlID("ComBaseQuery.GETCUST");
    }

    /**
     * 标准协会 初始化
     * @return 标准协会
     */
    public CoreReturnObject bandCmbMaxStdXh() {
        return this.getDataBySqlID("ComBaseQuery.BANDSTDXH");
    }

    /**
     * 钢级牌号 初始化
     * @return 钢级
     */
    public CoreReturnObject getSteel() {
        return this.getDataBySqlID("ComBaseQuery.GETSTEEL");
    }

    /**
     * 品名描述 初始化
     * @return 品名
     */
    public CoreReturnObject getProducName() {
        return this.getDataBySqlID("ComBaseQuery.GETPRODUCT");
    }

    /**
     * 品名描述 初始化
     * @return 品名
     */
    public CoreReturnObject getProducName2() {
        return this.getDataBySqlID("ComBaseQuery.GETPRODUCT2");
    }

    /**
     * 标准基础附加项 初始化
     * @return 品名
     */
    public CoreReturnObject getBaseStdAdd() {
        return this.getDataBySqlID("ComBaseQuery.GETBASESTDADD");
    }

    /**
     * 检验化学元素
     * @param elements 化学元素
     * @return 查询条数
     */
    public CoreReturnObject checkElement(ArrayList<Object> elements) {
        String str = "";
        String str1 = "";
        if (elements.size() == 0) {
            str1 = "''";
        }
        else {
            for (int i = 0; i < elements.size(); i++) {
                str = ",'" + elements.get(i).toString() + "'";
            }
            str1 = str.substring(str.indexOf(",") + 1);
        }
        String sql = CoreXmlSqlParsersFactory
                .getSql("ComBaseQuery.checkElement");
        String sql1 = sql.replace("?", str1);
        return this.getData(sql1);
    }

    /**
     * 附加要求项目
     * @return 数据集
     */
    public CoreReturnObject getAskItem() {
        return this.getDataBySqlID("ComBaseQuery.getAskItem");
    }
    
    public CoreReturnObject getSecProcess(String modelStyle) {
        Object []obj = new Object[]{modelStyle,modelStyle,modelStyle};
        return this.getDataBySqlID("ComBaseQuery.getSecProcess",obj);
    }
    
    /**
     * 通过工序代码获取产能井设置管理
     * @return obj
     */
    public CoreReturnObject getComBaseWell(String processCode){
    	String sql = CoreXmlSqlParsersFactory.getSql("ComBaseQuery.getComBaseWellByProcessCode");
    	sql = StringTool.ReplaceAll(sql, "#PROCESS_CDOE#", processCode);
    	
    	return this.getData(sql);
    }
    
    /**
     * 通过规格类型查找规格
     * @return obj
     */
    public CoreReturnObject getSpecByType(String specType){
    	String sql = CoreXmlSqlParsersFactory.getSql("ComBaseQuery.getSpecByType");
    	sql = StringTool.ReplaceAll(sql, "#MSC_STYLE#", specType);
    	
    	return this.getData(sql);
    }
    
    /**
     * 通过MSC查询产线
     * @param msc
     * @return obj
     */
    public CoreReturnObject getMscPlineByMsc(String msc){
    	String sql = CoreXmlSqlParsersFactory.getSql("ComBaseQuery.getMscPlineByMsc");
    	sql = StringTool.ReplaceAll(sql, "#MSC#", msc);
    	
    	return this.getData(sql);
    }
    
    /**
     * 查询产品
     * @param psc
     * @return obj
     */
    public CoreReturnObject getPsc2(){
    	String sql = CoreXmlSqlParsersFactory.getSql("ComBaseQuery.getPsc2");
    	
    	return this.getData(sql);
    }
    
    /**
     * 查询产线通过工序
     * @param process
     * @return
     */
    public CoreReturnObject getPlineByProcess(String process){
    	SqlBuilder b = new SqlBuilder("ComBaseQuery.getPlineByProcess");
    	b.Fill(new String[]{process});
    	return this.getData(b.toString());
    }
}
