using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QMAPP.BLL;
using QMAPP.Entity;
using QMAPP.FJC.Entity.ProcessParameter;
using QMAPP.FJC.Entity.ProductPetrospect;
using QMAPP.FJC.DAL.Produce;
using QMAPP.FJC.DAL.ProductPetrospect;
using System.Data;
using QMAPP.FJC.DAL.Operation;
using QMAPP.FJC.Entity.Operation;
using QMAPP.FJC.Entity.Produce;
using System.ComponentModel;
using System.Reflection;
using QMAPP.FJC.Entity.Basic;
using QMAPP.FJC.DAL.Basic;
using QMAPP.FJC.BLL.Dict;
using QMAPP.FJC.BLL.Operation;
using QMAPP.FJC.Entity;
using QMFrameWork.Log;
namespace QMAPP.FJC.BLL.ProductPetrospect
{
///
/// 模块编号:M5-1
/// 作 用:产品档案逻辑层
/// 作 者:王丹丹
/// 编写日期:2015年06月08日
///
public class ProductArchivesBLL : BaseBLL
{
#region 获取加工参数信息
///
/// 获取加工参数信息
///
///
/// DataTable
public DataResult GetProductParameter(ProductArchives condition)
{
MainDAL mainDal = new MainDAL();
ProductArchivesDAL paDal = new ProductArchivesDAL();
MainOperation mainPoeration = new MainOperation();
Main main = new Main();
DataResult dataResult = new DataResult();
DataTable dt = new DataTable();
try
{
//表皮条码
main.EPIDERMISCODE = condition.ERMISCODE;
//总成条码
main.MAINCODE = condition.MAINCODE;
main.PROCESSTYPE = condition.PROCESSTYPE;
main = mainDal.GetMain(main);
if (main == null)
{
dataResult.IsSuccess = false;
dataResult.Msg = "本体信息不存在!";
dataResult.Result = new DataTable();
return dataResult;
}
//获取加工记录信息
main.PROCESSTYPE = condition.PROCESSTYPE;
mainPoeration = paDal.GetMainOperation(main);
if (mainPoeration == null)
{
dataResult.IsSuccess = false;
dataResult.Msg = "加工记录不存在!";
dataResult.Result = new DataTable();
return dataResult;
}
//获取加工参数信息
dt = GetProductParameterInfoList(mainPoeration);
#region 获得加工参数标准值
var conditionPParameter = new ProcessParameter();
conditionPParameter.PROCESSTYPE = condition.PROCESSTYPE;
if (condition.PROCESSTYPE == EnumGeter.ProcessType.qinangzhijiazhusu.GetHashCode().ToString()
|| condition.PROCESSTYPE == EnumGeter.ProcessType.fengdaozhusu.GetHashCode().ToString()
|| condition.PROCESSTYPE == EnumGeter.ProcessType.HUDfengdaozhusu.GetHashCode().ToString()
)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString();
}
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter == null || listPParameter.Count == 0)
{
dataResult.IsSuccess = false;
dataResult.Msg = "未指定加工参数标准值!";
dataResult.Result = new DataTable();
return dataResult;
}
#endregion
//加工参数信息转置,转换成显示在页面上的格式
dt = GetTransposeInfo(dt, listPParameter);
dataResult.Result = dt;
dataResult.IsSuccess = true;
return dataResult;
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取加工参数信息!"
});
dataResult.IsSuccess = false;
dataResult.Msg = Resource.SystemException;
dataResult.Result = new DataTable();
throw ex;
}
}
public List GetProductParameterNew1(ProductArchives condition)
{
ProductArchivesDAL paDal = new ProductArchivesDAL();
DataResult dataResult = new DataResult();
DataTable dt = new DataTable();
List dtList = new List();
try
{
if (string.IsNullOrEmpty(condition.ERMISCODE))
{
if (string.IsNullOrEmpty(condition.MAINCODE))
{
return null;
}
MainBLL mb = new MainBLL();
var m = mb.GetByCondition(new Main{publicCode=condition.MAINCODE});
if (m==null)
{
return null;
}
condition.ERMISCODE = m.EPIDERMISCODE;
}
//获取加工参数信息
dtList = paDal.GetTableParamter(condition.ERMISCODE);
#region 获得加工参数标准值
var conditionPParameter = new ProcessParameter();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
#endregion
//加工参数信息转置,转换成显示在页面上的格式
//dt = GetTransposeInfoNew(dt);
return GetTransposeInfoNew1(dtList, listPParameter);
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取加工参数信息!"
});
dataResult.IsSuccess = false;
dataResult.Msg = Resource.SystemException;
dataResult.Result = new DataTable();
throw ex;
}
}
///
/// 获取加工参数信息DataTable
///
///
/// DataTable
public DataTable GetProductParameterInfoList(MainOperation mainPoeration)
{
ProductArchivesDAL paDal = new ProductArchivesDAL();
DataTable dt = new DataTable();
try
{
switch (mainPoeration.PROCESSTYPE)
{
#region 获取加工参数
//获取搪塑加工参数
case "0":
SlushParamter slushParamter = new SlushParamter();
slushParamter.IOID = mainPoeration.PID;
dt = paDal.GetSlushParamter(slushParamter); break;
//获取注塑加工参数
case "1":
case "2":
case "3":
case "4":
case "5":
InJectionParameter inJectionParameter = new InJectionParameter();
inJectionParameter.MOID = mainPoeration.PID;
inJectionParameter.PRODUCTTYPE = mainPoeration.PRODUCTTYPE;
dt = paDal.GetInJectionParameter(inJectionParameter); break;
//获取冷刀弱化加工参数
case "6":
BurnParameter burnParameter = new BurnParameter();
burnParameter.MOID = mainPoeration.PID;
dt = paDal.GetBurnParameter(burnParameter); break;
//获取火焰加工参数
case "7":
FlamepParameter flamepParameter = new FlamepParameter();
flamepParameter.MOID = mainPoeration.PID;
dt = paDal.GetFlamepParameter(flamepParameter); break;
//获取预热参数
case "8":
PreheatParameter preheatParameter = new PreheatParameter();
preheatParameter.MOID = mainPoeration.PID;
dt = paDal.GetPreheatParameter(preheatParameter); break;
//获取浇注参数
case "9":
CastingParameter castingParameter = new CastingParameter();
castingParameter.MOID = mainPoeration.PID;
dt = paDal.GetCastingParameter(castingParameter); break;
//获取红外扫描参数
case "10":
HostcanPatameter hostcanPatameter = new HostcanPatameter();
hostcanPatameter.MOID = mainPoeration.PID;
dt = paDal.GetHostcanPatameter(hostcanPatameter); break;
//获取冲切参数
case "11":
PunchParameter punchParameter = new PunchParameter();
punchParameter.MOID = mainPoeration.PID;
dt = paDal.GetPunchParameter(punchParameter); break;
//获取铣削参数
case "12":
MilingParameter milingParameter = new MilingParameter();
milingParameter.MOID = mainPoeration.PID;
dt = paDal.GetMilingParameter(milingParameter); break;
//获取铆接参数
case "13":
RivetingPatameter rivetingPatameter = new RivetingPatameter();
rivetingPatameter.MOID = mainPoeration.PID;
dt = paDal.GetRivetingPatameter(rivetingPatameter); break;
//获取超时波焊接参数
case "14":
UltrasParameter ultrasParameter = new UltrasParameter();
ultrasParameter.MOID = mainPoeration.PID;
dt = paDal.GetUltrasParameter(ultrasParameter); break;
//获取红外焊接参数
case "15":
HotweldParameter hotweldParameter = new HotweldParameter();
hotweldParameter.MOID = mainPoeration.PID;
dt = paDal.GetHotweldParameter(hotweldParameter); break;
//获取总成装配参数
case "16":
AssembleParameter assembleParameter = new AssembleParameter();
assembleParameter.MOID = mainPoeration.PID;
dt = paDal.GetAssembleParameter(assembleParameter); break;
#endregion
}
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region DataTable转置
///
/// DataTable转置
///
///
///
public DataTable GetTransposeInfo(DataTable dt, List listPParameter)
{
DataTable dtBefore = new DataTable();
try
{
DataColumn dttxt = new DataColumn("PARAMETERNAME", typeof(string));
dtBefore.Columns.Add(dttxt);
DataColumn dtvalue = new DataColumn("PARAMETERVALUE", typeof(string));
dtBefore.Columns.Add(dtvalue);
if (dt.Rows.Count != 0)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
//转换参数名称
var entityParam = listPParameter.FirstOrDefault(o => o.PARANAME == dt.Columns[i].ColumnName);
if (entityParam != null)
{
DataRow dr = dtBefore.NewRow();
//添加数据到DataTable
dr["PARAMETERNAME"] = entityParam.PARADESCRIBE;
dr["PARAMETERVALUE"] = dt.Rows[0][i];
dtBefore.Rows.Add(dr);
}
}
DataRow dr0 = dtBefore.NewRow();
//添加数据到DataTable
dr0["PARAMETERNAME"] = "产品条码";
dr0["PARAMETERVALUE"] = dt.Rows[0]["PRODUCTCODE"].ToString();
dtBefore.Rows.InsertAt(dr0,0);
}
return dtBefore;
}
catch (Exception ex)
{
throw ex;
}
}
public List GetTransposeInfoNew1(List dtList, List listPParameter)
{
List dtBefore = new List();
try
{
foreach (var dt in dtList)
{
if (dt.Rows.Count != 0)
{
var code = dt.Rows[0]["MACHINECODDE"].ToString();
if (listPParameter.FindAll(o => o.MACHINECODDE == code) != null)
{
List newlist = listPParameter.FindAll(o => o.MACHINECODDE == code);
//if (dt.Rows.Count != 0)
//{
for (int i = 0; i < dt.Columns.Count; i++)
{
//转换参数名称
var columnName = dt.Columns[i].ColumnName;
var entityParam = newlist.FirstOrDefault(o => o.PARANAME == columnName);
if (entityParam != null)
{
entityParam.MEMO = dt.Rows[0][i].ToString();
dtBefore.Add(entityParam);
}
}
//DataRow dr0 = dtBefore.NewRow();
////添加数据到DataTable
//dr0["PARAMETERNAME"] = "产品条码";
//dr0["PARAMETERVALUE"] = dt.Rows[0]["PRODUCTCODE"].ToString();
//dtBefore.Rows.InsertAt(dr0, 0);
//}
}
}
}
return dtBefore.OrderBy(x=> x.MACHINECODDE).ToList();
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 导出数据
///
/// 获取导出的数据
///
/// 查询条件
/// 数据
public DataResult GetExportData(ProductArchives condition)
{
MainDAL mainDal = new MainDAL();
ProductArchivesDAL paDal = new ProductArchivesDAL();
MainOperation mainPoeration = new MainOperation();
Main main = new Main();
DataResult dataResult = new DataResult();
try
{
//根据表皮条码获取本体信息
main.EPIDERMISCODE = condition.ERMISCODE;
main.MAINCODE = condition.MAINCODE;
main.PROCESSTYPE = condition.PROCESSTYPE;
main = mainDal.GetMain(main);
if (main == null)
{
dataResult.IsSuccess = false;
dataResult.Msg = "本体信息不存在!";
dataResult.Result = new DataSet();
return dataResult;
}
//获取加工记录信息
//mainPoeration.PROCESSTYPE = condition.PROCESSTYPE;
List mainPoerations = paDal.GetMainOperations(main);
if (mainPoerations.Count <= 0)
{
dataResult.IsSuccess = false;
dataResult.Msg = "加工记录不存在!";
dataResult.Result = new DataSet();
return dataResult;
}
var conditionPParameter = new ProcessParameter();
#region 获取加工参数信息
//获取搪塑加工参数
DataTable dtSlush = new DataTable();
DataTable dtgujia = new DataTable();
DataTable dtqinangzhijia = new DataTable();
DataTable dtfengdao = new DataTable();
DataTable dthudfengdao = new DataTable();
DataTable dtBurn = new DataTable();
DataTable dtCasting = new DataTable();
DataTable dtPunch = new DataTable();
DataTable dtMiling = new DataTable();
DataTable dtUltras = new DataTable();
DataTable dtHot = new DataTable();
#region 获取数据信息
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.tangsu.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.tangsu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count >0)
{
SlushParamter slushParamter = new SlushParamter();
slushParamter.IOID = mainPoeration.PID;
dtSlush = paDal.GetSlushParamter(slushParamter);
//加工参数信息转置,转换成显示在页面上的格式
dtSlush = GetTransposeInfo(dtSlush, listPParameter);
}
}
//获取骨架注塑加工参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString()
&& m.PRODUCTTYPE == EnumGeter.ProductType.gujia.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
InJectionParameter gujiaParameter = new InJectionParameter();
gujiaParameter.MOID = mainPoeration.PID;
gujiaParameter.PRODUCTTYPE = EnumGeter.ProductType.gujia.GetHashCode().ToString();
dtgujia = paDal.GetInJectionParameter(gujiaParameter);
//DataRow dr = dtgujia.NewRow();
//dr[""] = "";
//dr[""] = "";
//dtgujia.Rows.InsertAt(dr, 0);
//加工参数信息转置,转换成显示在页面上的格式
dtgujia = GetTransposeInfo(dtgujia, listPParameter);
}
}
//获取气囊支架注塑加工参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.qinangzhijiazhusu.GetHashCode().ToString()
&& m.PRODUCTTYPE == EnumGeter.ProductType.qinangzhijia.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
InJectionParameter qinangzhijiaParameter = new InJectionParameter();
qinangzhijiaParameter.MOID = mainPoeration.PID;
qinangzhijiaParameter.PRODUCTTYPE = EnumGeter.ProductType.qinangzhijia.GetHashCode().ToString();
dtqinangzhijia = paDal.GetInJectionParameter(qinangzhijiaParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtqinangzhijia = GetTransposeInfo(dtqinangzhijia, listPParameter);
}
}
//获取风道注塑加工参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.fengdaozhusu.GetHashCode().ToString()
&& m.PRODUCTTYPE == EnumGeter.ProductType.fengdao.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
InJectionParameter fengdaoParameter = new InJectionParameter();
fengdaoParameter.MOID = mainPoeration.PID;
fengdaoParameter.PRODUCTTYPE = EnumGeter.ProductType.fengdao.GetHashCode().ToString();
dtfengdao = paDal.GetInJectionParameter(fengdaoParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtfengdao = GetTransposeInfo(dtfengdao, listPParameter);
}
}
//获取HUD风道注塑加工参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.HUDfengdaozhusu.GetHashCode().ToString()
&& m.PRODUCTTYPE == EnumGeter.ProductType.HUDfengdao.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
InJectionParameter hudfengdaoParameter = new InJectionParameter();
hudfengdaoParameter.MOID = mainPoeration.PID;
hudfengdaoParameter.PRODUCTTYPE = EnumGeter.ProductType.HUDfengdao.GetHashCode().ToString();
dthudfengdao = paDal.GetInJectionParameter(hudfengdaoParameter);
//加工参数信息转置,转换成显示在页面上的格式
dthudfengdao = GetTransposeInfo(dthudfengdao, listPParameter);
}
}
//获取冷刀弱化加工参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.lengdaoruohua.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.lengdaoruohua.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
BurnParameter burnParameter = new BurnParameter();
burnParameter.MOID = mainPoeration.PID;
dtBurn = paDal.GetBurnParameter(burnParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtBurn = GetTransposeInfo(dtBurn, listPParameter);
}
}
//获取浇注参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.jiaozhu.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.jiaozhu.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
CastingParameter castingParameter = new CastingParameter();
castingParameter.MOID = mainPoeration.PID;
dtCasting = paDal.GetCastingParameter(castingParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtCasting = GetTransposeInfo(dtCasting, listPParameter);
}
}
//获取冲切参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.chongqie.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.chongqie.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
PunchParameter punchParameter = new PunchParameter();
punchParameter.MOID = mainPoeration.PID;
dtPunch = paDal.GetPunchParameter(punchParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtPunch = GetTransposeInfo(dtPunch, listPParameter);
}
}
//获取铣削参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.xixiao.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.xixiao.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
MilingParameter milingParameter = new MilingParameter();
milingParameter.MOID = mainPoeration.PID;
dtMiling = paDal.GetMilingParameter(milingParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtMiling = GetTransposeInfo(dtMiling, listPParameter);
}
}
//获取超时波焊接参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.chaoshengbohanjie.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.chaoshengbohanjie.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
UltrasParameter ultrasParameter = new UltrasParameter();
ultrasParameter.MOID = mainPoeration.PID;
dtUltras = paDal.GetUltrasParameter(ultrasParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtUltras = GetTransposeInfo(dtUltras, listPParameter);
}
}
//获取红外焊接参数
mainPoeration = mainPoerations.Find(m => m.PROCESSTYPE == EnumGeter.ProcessType.hongwaihanjie.GetHashCode().ToString());
if (mainPoeration != null)
{
conditionPParameter.PROCESSTYPE = EnumGeter.ProcessType.hongwaihanjie.GetHashCode().ToString();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
if (listPParameter != null && listPParameter.Count > 0)
{
HotweldParameter hotweldParameter = new HotweldParameter();
hotweldParameter.MOID = mainPoeration.PID;
dtHot = paDal.GetHotweldParameter(hotweldParameter);
//加工参数信息转置,转换成显示在页面上的格式
dtHot = GetTransposeInfo(dtHot, listPParameter);
}
}
#endregion
#region 将不同工序类别的加工参数信息整理到DataSet
DataSet ds = new DataSet();
ds.DataSetName="Parameter";
#region
if (dtSlush.Rows.Count> 0 )
{
DataRow drSlush = dtSlush.NewRow();
//加一行工序分类标题,将导出的不同工序分割开
drSlush["PARAMETERNAME"] = "搪塑加工参数";
drSlush["PARAMETERVALUE"] = "";
dtSlush.Rows.InsertAt(drSlush, 0);
//获取搪塑加工参数
ds.Tables.Add(dtSlush);
}
if (dtgujia.Rows.Count > 0)
{
DataRow drgujia = dtgujia.NewRow();
drgujia["PARAMETERNAME"] = "骨架注塑加工参数";
drgujia["PARAMETERVALUE"] = "";
dtgujia.Rows.InsertAt(drgujia, 0);
ds.Tables.Add(dtgujia);
}
if (dtqinangzhijia.Rows.Count > 0)
{
DataRow drqinangzhijia = dtqinangzhijia.NewRow();
drqinangzhijia["PARAMETERNAME"] = "气囊支架注塑加工参数";
drqinangzhijia["PARAMETERVALUE"] = "";
dtqinangzhijia.Rows.InsertAt(drqinangzhijia, 0);
ds.Tables.Add(dtqinangzhijia);
}
if (dtfengdao.Rows.Count > 0)
{
DataRow drfengdao = dtfengdao.NewRow();
drfengdao["PARAMETERNAME"] = "风道注塑加工参数";
drfengdao["PARAMETERVALUE"] = "";
dtfengdao.Rows.InsertAt(drfengdao, 0);
ds.Tables.Add(dtfengdao);
}
if (dthudfengdao.Rows.Count > 0)
{
DataRow drhudfengdao = dthudfengdao.NewRow();
drhudfengdao["PARAMETERNAME"] = "HUD风道注塑加工参数";
drhudfengdao["PARAMETERVALUE"] = "";
dthudfengdao.Rows.InsertAt(drhudfengdao, 0);
ds.Tables.Add(dthudfengdao);
}
if (dtBurn.Rows.Count > 0)
{
DataRow drBurn = dtBurn.NewRow();
drBurn["PARAMETERNAME"] = "冷刀弱化加工参数";
drBurn["PARAMETERVALUE"] = "";
dtBurn.Rows.InsertAt(drBurn, 0);
//获取冷刀弱化加工参数
ds.Tables.Add(dtBurn);
}
if (dtCasting.Rows.Count > 0)
{
DataRow drCasting = dtCasting.NewRow();
drCasting["PARAMETERNAME"] = "浇注加工参数";
drCasting["PARAMETERVALUE"] = "";
dtCasting.Rows.InsertAt(drCasting, 0);
//获取浇注参数
ds.Tables.Add(dtCasting);
}
if (dtPunch.Rows.Count > 0)
{
DataRow drPunch = dtPunch.NewRow();
drPunch["PARAMETERNAME"] = "冲切加工参数";
drPunch["PARAMETERVALUE"] = "";
dtPunch.Rows.InsertAt(drPunch, 0);
//获取冲切参数
ds.Tables.Add(dtPunch);
}
if (dtMiling.Rows.Count > 0)
{
DataRow drMiling = dtMiling.NewRow();
drMiling["PARAMETERNAME"] = "铣削加工参数";
drMiling["PARAMETERVALUE"] = "";
dtMiling.Rows.InsertAt(drMiling, 0);
//获取铣削参数
ds.Tables.Add(dtMiling);
}
if (dtUltras.Rows.Count > 0)
{
DataRow drUltras = dtUltras.NewRow();
drUltras["PARAMETERNAME"] = "超声波焊接加工参数";
drUltras["PARAMETERVALUE"] = "";
dtUltras.Rows.InsertAt(drUltras, 0);
//获取超时波焊接参数
ds.Tables.Add(dtUltras);
}
if (dtHot.Rows.Count > 0)
{
DataRow drHot = dtHot.NewRow();
drHot["PARAMETERNAME"] = "红外焊接加工参数";
drHot["PARAMETERVALUE"] = "";
dtHot.Rows.InsertAt(drHot, 0);
//获取红外焊接参数
ds.Tables.Add(dtHot);
}
#endregion
#endregion
for (int i = 0; i < ds.Tables.Count; i++)
{
ds.Tables[i].Columns[0].ColumnName = "加工参数名称";
ds.Tables[i].Columns[1].ColumnName = "加工参数值";
}
dataResult.Result = ds;
dataResult.IsSuccess = true;
#endregion
if (string.IsNullOrEmpty(main.MAINCODE) == false)
{
dataResult.Msg = main.MAINCODE;
}
else
{
dataResult.Msg = main.EPIDERMISCODE;
}
return dataResult;
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取加工参数信息!"
});
dataResult.IsSuccess = false;
dataResult.Msg = Resource.SystemException;
dataResult.Result = new DataSet();
throw ex;
}
}
public DataResult> GetExportDataNew(ProductArchives condition)
{
MainDAL mainDal = new MainDAL();
ProductArchivesDAL paDal = new ProductArchivesDAL();
MainOperation mainPoeration = new MainOperation();
Main main = new Main();
DataResult> dataResult = new DataResult>();
List dtList = new List();
try
{
if (string.IsNullOrEmpty(condition.ERMISCODE))
{
if (string.IsNullOrEmpty(condition.MAINCODE))
{
return null;
}
MainBLL mb = new MainBLL();
var m = mb.GetByCondition(new Main { publicCode = condition.MAINCODE });
if (m == null)
{
return null;
}
condition.ERMISCODE = m.EPIDERMISCODE;
}
//获取加工参数信息
dtList = paDal.GetTableParamter(condition.ERMISCODE);
#region 获得加工参数标准值
var conditionPParameter = new ProcessParameter();
var listPParameter = new ProcessParameterDAL().GetList(conditionPParameter);
#endregion
//加工参数信息转置,转换成显示在页面上的格式
//dt = GetTransposeInfoNew(dt);
dataResult.Result = GetTransposeInfoNew1(dtList, listPParameter);
//dataResult.Result = ds;
dataResult.IsSuccess = true;
return dataResult;
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取加工参数信息!"
});
dataResult.IsSuccess = false;
dataResult.Msg = Resource.SystemException;
dataResult.Result = null;
throw ex;
}
}
#endregion
///
/// 获取本体信息
///
///
///
public Main GetMainInfo(ProductArchives condition)
{
Main main = new Main();
//根据表皮条码获取本体信息
main.EPIDERMISCODE = condition.ERMISCODE;
main.MAINCODE = condition.MAINCODE;
main.PROCESSTYPE = condition.PROCESSTYPE;
try
{
return new MainDAL().GetMain(main);
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取本体信息!"
});
throw ex;
}
}
///
/// 获取加工记录信息
///
///
///
public MainOperation GetMainOperationInfo(ProductArchives condition)
{
ProductArchivesDAL paDal = new ProductArchivesDAL();
MainOperation mainPoeration = new MainOperation();
Main main = new Main();
main.PROCESSTYPE = condition.PROCESSTYPE;
try
{
return new ProductArchivesDAL().GetMainOperation(main);
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "产品档案逻辑层-获取加工记录信息!"
});
throw ex;
}
}
}
}