package com.steering.pss.sale.order.bomGeneration.server;

import java.sql.Connection;
import java.sql.SQLException;

import com.steering.pss.sale.order.bomGeneration.daoImp.BomFactoryDao;
import com.steering.pss.sale.order.bomGeneration.daoImp.BomQueryDaoImp;
import com.steering.pss.sale.order.bomGeneration.model.BomEntity;
import com.steering.pss.sale.order.bomGeneration.model.MscBlEntity;
import com.steering.pss.sale.order.bomGeneration.model.SlmOrdDesignBlEntity;
import com.steering.pss.sale.order.model.ComPscEntity;
import com.steering.pss.sale.order.model.DesignMscEntity;

public class GeneraBomEntity {
	public static BomEntity generaBomEntity(DesignMscEntity mscEntity) {
		BomEntity bom = new BomEntity();
		bom.setDimater(mscEntity.getDimater());
		bom.setHeight(mscEntity.getHeight());
		bom.setModelCode(mscEntity.getModelCode());
		bom.setModelDesc(mscEntity.getModelDesc());
		bom.setProduccode(mscEntity.getProduccode());
		bom.setProducname(mscEntity.getProducname());
		bom.setSpecCode(mscEntity.getSpecCode());
		bom.setSpecName(mscEntity.getSpecName());
		bom.setStdStyle(mscEntity.getStdStyle());
		bom.setStdStyleDesc(mscEntity.getStdStyleDesc());
		bom.setSteelcode(mscEntity.getSteelcode());
		bom.setSteelname(mscEntity.getSteelname());
		bom.setMsc(mscEntity.getMsc());
		bom.setMscDesc(mscEntity.getMscDesc());
		bom.setMscStyle(mscEntity.getMscStyle());
		bom.setOutsStlPipeFl(mscEntity.getOutsStlPipeFl());
		return bom;
	}

	/**
	 * 备料码生成BOM类
	 * 
	 * @param con
	 * @param blEntity
	 * @return
	 * @throws SQLException
	 */
	public static BomEntity generaBomEntity(Connection con,
			SlmOrdDesignBlEntity blEntity) throws SQLException {
		BomQueryDaoImp bomQueryDaoImp = BomFactoryDao.getBomQueryDaoImp();
		ComPscEntity pscEntity = bomQueryDaoImp.getPsc(con,
				blEntity.getProduccode(), blEntity.getStdCode(),
				blEntity.getSteelcode(), blEntity.getStdStyle());
		String[] mscInfo = bomQueryDaoImp.getMscByPscAndUseCode(con,
				pscEntity.getPsc(), blEntity.getUseCode());
		String[] specInfo = bomQueryDaoImp.getBaseSpec(con, blEntity.getMinD(),
				blEntity.getMinH());
		BomEntity bom = new BomEntity();
		bom.setDimater(blEntity.getMinD());
		bom.setHeight(blEntity.getMinH());
		bom.setModelCode(blEntity.getModelCode());
		bom.setModelDesc(blEntity.getModelDesc());
		bom.setProduccode(blEntity.getProduccode());
		bom.setProducname(blEntity.getProducname());
		bom.setSpecCode(specInfo[0]);
		bom.setSpecName(specInfo[1]);
		bom.setStdStyle(blEntity.getStdStyle());
		bom.setStdStyleDesc(blEntity.getStdStyleDesc());
		bom.setSteelcode(blEntity.getSteelcode());
		bom.setSteelname(blEntity.getSteelname());
		bom.setMsc(mscInfo[0]);
		bom.setMscDesc(mscInfo[1]);
		bom.setMscStyle(mscInfo[2]);
		return bom;
	}

	/**
	 * 备料码生成BOM类
	 * 
	 * @param con
	 * @param blEntity
	 * @return
	 * @throws SQLException
	 */
	public static BomEntity generaBomEntityB(Connection con,
			MscBlEntity blEntity) throws SQLException {
		BomQueryDaoImp bomQueryDaoImp = BomFactoryDao.getBomQueryDaoImp();
		ComPscEntity pscEntity = bomQueryDaoImp.getPsc(con,
				blEntity.getProduccode(), blEntity.getStdCode(),
				blEntity.getSteelcode(), blEntity.getStdStyle());
		String[] mscInfo = bomQueryDaoImp.getMscByPscAndUseCode(con,
				pscEntity.getPsc(), blEntity.getUseCode());                        
		String[] specInfo = bomQueryDaoImp.getBaseSpec(con, blEntity.getMinD(),
				blEntity.getMinH());
		BomEntity bom = new BomEntity();
		bom.setDimater(blEntity.getMinD());
		bom.setHeight(blEntity.getMinH());
		bom.setModelCode(blEntity.getModelCode());
		bom.setModelDesc(blEntity.getModelDesc());
		bom.setProduccode(blEntity.getProduccode());
		bom.setProducname(blEntity.getProducname());
		bom.setSpecCode(specInfo[0]);
		bom.setSpecName(specInfo[1]);
		bom.setStdStyle(blEntity.getStdStyle());
		bom.setStdStyleDesc(blEntity.getStdStyleDesc());
		bom.setSteelcode(blEntity.getSteelcode());
		bom.setSteelname(blEntity.getSteelname());
		bom.setMsc(mscInfo[0]);
		bom.setMscDesc(mscInfo[1]);
		bom.setMscStyle(mscInfo[2]);
		return bom;
	}
}
