using System;
using System.Data;
using System.IO;
using System.Xml.Serialization;
using Mesnac.Action.Base;
using Mesnac.Codd.Session;
using Mesnac.Action.Feeding.Qingquan.SynchroData;
namespace Mesnac.Action.Feeding.Qingquan.BasicInfo
{
///
/// 从网络上下载配方数据
///
public class NetRecipe
{
///
/// 从网络数据库中下载配方数据
/// 2014 4-15 称量表中添加Auto_Ploy字段,自动导开方式,胶料使用
///
/// 计划号
/// 成功返回1,失败返回其他值
public int DownloadRecipe(string RecipeEquipCode, string RecipeMaterialCode, string RecipeVersionID)
{
FeedingAction action = new FeedingAction();
if (action.NetType == BaseAction.NetTypes.Local)
{
ICSharpCode.Core.LoggingService.Error("此系统版本为单机版,不能进行数据同步...");
new BaseAction().ShowMsg(LanguageService.Instance.Read(32));
return 0;
}
#region 如果合并了一次法功能,则从网络库下载一次法配方数据和物料到一次法本地库
if (action.GetConfigValue("IsCombinedOne", "0") == "1")
{
RecipeOneHelper.DownLoadRecipeOne(RecipeEquipCode, RecipeMaterialCode, RecipeVersionID);
}
#endregion
int Result = 0;
DbHelper localHelper = action.NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
DbHelper serverHelper = action.NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Server);
if (localHelper == null)
{
ICSharpCode.Core.LoggingService.Error("下载配方失败:获取本地数据库连接失败!");
return 0;
}
if (serverHelper == null)
{
ICSharpCode.Core.LoggingService.Error("下载配方失败:获取网络数据库连接失败!");
return 0;
}
string sqlstr = "";
DataTable dt = null;
try
{
//localHelper.BeginTransaction();
//从网路数据库中同步当前配方需要的物料
if (!MaterialSynchronous.DownLoadRecipeMaterial(localHelper, serverHelper, RecipeEquipCode, RecipeMaterialCode, RecipeVersionID))
{
//没有找到配方物料
ICSharpCode.Core.LoggingService.Error(LanguageService.Instance.Read(226));
return 0;
}
#region PmtRecipe
serverHelper.CommandType = CommandType.Text;
sqlstr = @" SELECT '' [ObjID]
,Equip_Code [RecipeEquipCode]
,a.Mater_Code [RecipeMaterialCode]
,Edt_Code [RecipeVersionID]
,a.Mater_Name [RecipeName]
,Recipe_Type [RecipeType]
,b.mater_name [RecipeMaterialName]
,User_EdtCode [RecipeUserVersion]
,Recipe_State [RecipeState]
,Define_Date [RecipeDefineDate]
,'' [RecipeModifyUser]
,Modify_Time [RecipeModifyTime]
,Done_Time [LotDoneTime]
,Shelf_Num [ShelfLotCount]
,Total_Weight [LotTotalWeight]
,case when [CB_RecycleType]>='1' then '1' else [CB_RecycleType] end [CarbonRecycleType]
,case when [CB_RecycleTime]='' then '0' else [CB_RecycleTime] end [CarbonRecycleTime]
,OverTemp_MinTime [OverTempMinTime]
,OverTime_Time [OverTimeSetTime]
,OverTemp_Temp [OverTempSetTemp]
,Max_InPolyTemp [InPolyMaxTemp]
,Min_InPolyTemp [InPolyMinTemp]
,In_PolyTime [InPolySetTime]
,In_CarbonTime [InCarbonSetTime]
,In_OilTime [InOilSetTime]
,In_PowderTime [InPowderSetTime]
,Roll_SpeedDiff [RollSpeedDiff]
,Ram_PressDiff [RamPressDiff]
,Is_UseAreaTemp [IsUseAreaTemp]
,Side_Temp [SideTemp]
,Side_TempDiff [SideTempDiff]
,Roll_Temp [RollTemp]
,Roll_TempDiff [RollTempDiff]
,Ddoor_Temp [DdoorTemp]
,Ddoor_TempDiff [DdoorTempDiff]
,Oper_Code [OperCode]
,Mem_Note [Remark]
,Recipe_Code [RecipeCode]
,Start_datetime [StartDatetime]
,End_datetime [EndDatetime]
,Audit_flag [AuditFlag]
,Audit_name [AuditUser]
,Audit_date [AuditDateTime]
,Recipe_Dic [RecipeDic]
,Stay_time [StayTimeSpand]
,'' [RearchCode]
,'' [CanAuditUser]
,Fill_Coef [MakeUpTemp]
,'' [NewFlag]
FROM [Pmt_Recipe] a left join (select mater_code,mater_name from dbo.Pmt_material) b on a.Mater_Code=b.Mater_code ";
sqlstr += " WHERE Recipe_State=1 AND Audit_flag = 1 AND Equip_Code=@RecipeEquipCode AND a.Mater_Code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
serverHelper.CommandText = sqlstr;
serverHelper.ClearParameter();
serverHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode);
serverHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
serverHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
dt = serverHelper.ToDataTable();
if (dt.Rows.Count == 0)
{
//throw new Exception(LanguageService.Instance.Read(227));
ICSharpCode.Core.LoggingService.Warn(String.Format("下载配方数据失败[{0}]:没有符和条件的配方数据!", RecipeMaterialCode));
return 0;
}
localHelper.CommandType = CommandType.Text;
int oldRecipeObjId = -1;
#region 如果有此配方,则记录此配方的ObjID
sqlstr = @"select [ObjID] from pmt_recipe WHERE equip_code=@RecipeEquipCode AND mater_code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode.Substring(3, 2).ToString());
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
object objId = localHelper.ToScalar();
if (objId != null && objId != System.DBNull.Value)
{
int.TryParse(objId.ToString(), out oldRecipeObjId);
}
#endregion
#region 删除数据
if (oldRecipeObjId <= 0)
{
sqlstr = @"DELETE FROM pmt_recipe WHERE equip_code=@RecipeEquipCode AND mater_code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode.Substring(3, 2).ToString());
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
localHelper.ExecuteNonQuery();
}
sqlstr = @"DELETE FROM pmt_mix WHERE father_code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
localHelper.ExecuteNonQuery();
sqlstr = @"DELETE FROM pmt_weigh WHERE father_code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
localHelper.ExecuteNonQuery();
#endregion
string serverRecipeObjID = string.Empty;
string localRecipeObjID = string.Empty;
if (oldRecipeObjId <= 0)
{
//如果本机台不存在此配方则追加,否则更新
sqlstr = @"insert into pmt_recipe(mater_code,equip_code,edt_code,mater_name,RecipeType,recipe_state,
Black_reuse,Reuse_time,Mini_time,Max_temp,Mini_temp,
Over_temp,ever_used,define_date,Sds_temp,Zz_temp,Xlm_temp,If_not,Shelf_num,
Total_weight,mem_note,expire_time,recipe_Code,Fill_Coef) values(
@RecipeMaterialCode ,
@RecipeEquipCode ,
@RecipeVersionID ,
@RecipeMaterialName ,
@RecipeType,
@RecipeState,
@CarbonRecycleType ,
@CarbonRecycleTime ,
@OverTimeSetTime ,
@InPolyMaxTemp ,
@InPolyMinTemp ,
@OverTempSetTemp,
@ever_used,
@RecipeDefineDate,
@SideTemp,
@RollTemp,
@DdoorTemp,
@IsUseAreaTemp,
@ShelfLotCount,
@LotTotalWeight,
@Remark,
@OverTempMinTime,
@RecipeCode,
@MakeUpTemp
);SELECT SCOPE_IDENTITY();";
foreach (DataRow dr in dt.Rows)
{
serverRecipeObjID = dr["ObjID"].ToString();
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
localHelper.AddParameter("@RecipeEquipCode", dr["RecipeEquipCode"].ToString().Substring(3, 2).ToString());
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
localHelper.AddParameter("@RecipeMaterialName", dr["RecipeMaterialName"]);
localHelper.AddParameter("@RecipeType", dr["RecipeType"].ToString());
localHelper.AddParameter("@RecipeState", dr["RecipeState"]);
localHelper.AddParameter("@CarbonRecycleType", dr["CarbonRecycleType"]);
localHelper.AddParameter("@CarbonRecycleTime", dr["CarbonRecycleTime"]);
localHelper.AddParameter("@OverTimeSetTime", dr["OverTimeSetTime"]);
localHelper.AddParameter("@InPolyMaxTemp", dr["InPolyMaxTemp"]);
localHelper.AddParameter("@InPolyMinTemp", dr["InPolyMinTemp"]);
localHelper.AddParameter("@OverTempSetTemp", dr["OverTempSetTemp"]);
localHelper.AddParameter("@ever_used", 1);
localHelper.AddParameter("@RecipeDefineDate", dr["RecipeDefineDate"]);
localHelper.AddParameter("@SideTemp", dr["SideTemp"]);
localHelper.AddParameter("@RollTemp", dr["RollTemp"]);
localHelper.AddParameter("@DdoorTemp", dr["DdoorTemp"]);
localHelper.AddParameter("@IsUseAreaTemp", dr["IsUseAreaTemp"]);
localHelper.AddParameter("@ShelfLotCount", dr["ShelfLotCount"]);
localHelper.AddParameter("@LotTotalWeight", dr["LotTotalWeight"]);
localHelper.AddParameter("@Remark", dr["Remark"]);
localHelper.AddParameter("@OverTempMinTime", dr["OverTempMinTime"]);
localHelper.AddParameter("@RecipeCode", dr["RecipeCode"]);
localHelper.AddParameter("@MakeUpTemp", dr["MakeUpTemp"]);
localRecipeObjID = localHelper.ToScalar().ToString();
break;
}
}
else
{
//如果本机台存在此配方则更新
sqlstr = @"update pmt_recipe
set mater_name=@RecipeMaterialName,RecipeType=@RecipeType,recipe_state=@RecipeState,
Black_reuse=@CarbonRecycleType,Reuse_time=@CarbonRecycleTime,Mini_time=@OverTimeSetTime,Max_temp=@InPolyMaxTemp,Mini_temp=@InPolyMinTemp,
Over_temp=@OverTempSetTemp,ever_used=@ever_used,define_date=@RecipeDefineDate,Sds_temp=@SideTemp,Zz_temp=@RollTemp,Xlm_temp=@DdoorTemp,If_not=@IsUseAreaTemp,Shelf_num=@ShelfLotCount,
Total_weight=@LotTotalWeight,mem_note=@Remark,expire_time=@OverTempMinTime,recipe_Code=@RecipeCode,Fill_Coef=@MakeUpTemp
where mater_code=@RecipeMaterialCode and equip_code=@RecipeEquipCode and edt_code=@RecipeVersionID";
foreach (DataRow dr in dt.Rows)
{
serverRecipeObjID = dr["ObjID"].ToString();
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeMaterialName", dr["RecipeMaterialName"]);
localHelper.AddParameter("@RecipeType", dr["RecipeType"].ToString());
localHelper.AddParameter("@RecipeState", dr["RecipeState"]);
localHelper.AddParameter("@CarbonRecycleType", dr["CarbonRecycleType"]);
localHelper.AddParameter("@CarbonRecycleTime", dr["CarbonRecycleTime"]);
localHelper.AddParameter("@OverTimeSetTime", dr["OverTimeSetTime"]);
localHelper.AddParameter("@InPolyMaxTemp", dr["InPolyMaxTemp"]);
localHelper.AddParameter("@InPolyMinTemp", dr["InPolyMinTemp"]);
localHelper.AddParameter("@OverTempSetTemp", dr["OverTempSetTemp"]);
localHelper.AddParameter("@ever_used", 1);
localHelper.AddParameter("@RecipeDefineDate", dr["RecipeDefineDate"]);
localHelper.AddParameter("@SideTemp", dr["SideTemp"]);
localHelper.AddParameter("@RollTemp", dr["RollTemp"]);
localHelper.AddParameter("@DdoorTemp", dr["DdoorTemp"]);
localHelper.AddParameter("@IsUseAreaTemp", dr["IsUseAreaTemp"]);
localHelper.AddParameter("@ShelfLotCount", dr["ShelfLotCount"]);
localHelper.AddParameter("@LotTotalWeight", dr["LotTotalWeight"]);
localHelper.AddParameter("@Remark", dr["Remark"]);
localHelper.AddParameter("@OverTempMinTime", dr["OverTempMinTime"]);
localHelper.AddParameter("@RecipeCode", dr["RecipeCode"]);
localHelper.AddParameter("@MakeUpTemp", dr["MakeUpTemp"]);
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
localHelper.AddParameter("@RecipeEquipCode", dr["RecipeEquipCode"].ToString().Substring(3, 2).ToString());
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
localHelper.ExecuteNonQuery();
//localRecipeObjID = localHelper.ToScalar().ToString();
localRecipeObjID = oldRecipeObjId.ToString();
break;
}
}
#endregion
#region PmtRecipeMixing
serverHelper.CommandType = CommandType.Text;
sqlstr = @"SELECT
Mix_Id as MixingStep,
Recipe_Code as RecipeMaterialCode,
Equip_Code as RecipeEquipCode,
Edt_Code as RecipeVersionID,
Term_code as TermCode,
Mixing_Time as MixingTime,
Mixing_Temp as MixingTemp,
Mixing_Energy as MixingEnergy,
Mixing_Power as MixingPower,
Act_Code as ActionCode,
Mixing_Press as MixingPress,
Mixing_Speed as MixingSpeed
FROM Pmt_Mixing WHERE Equip_Code=@RecipeEquipCode AND Recipe_Code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID";
serverHelper.CommandText = sqlstr;
serverHelper.ClearParameter();
serverHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode);
serverHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
serverHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
dt = serverHelper.ToDataTable();
if (dt.Rows.Count == 0)
{
throw new Exception(LanguageService.Instance.Read(228));
}
sqlstr = @"INSERT INTO pmt_mix
( RecipeObjID ,mix_id,father_code,equip_code,edt_code,
term_code,set_time,set_temp,set_ener,set_power,act_code,set_pres,set_rota) values(
@RecipeObjID ,
@MixingStep ,
@RecipeMaterialCode ,
@RecipeEquipCode,
@RecipeVersionID ,
@TermCode ,
@MixingTime ,
@MixingTemp ,
@MixingEnergy ,
@MixingPower ,
@ActionCode,
@MixingPress ,
@MixingSpeed
)";
foreach (DataRow dr in dt.Rows)
{
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeObjID", localRecipeObjID);
localHelper.AddParameter("@MixingStep", dr["MixingStep"]);
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
localHelper.AddParameter("@RecipeEquipCode",dr["RecipeEquipCode"].ToString().Substring(3,2).ToString());
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
localHelper.AddParameter("@TermCode", dr["TermCode"]);
localHelper.AddParameter("@MixingTime", dr["MixingTime"]);
localHelper.AddParameter("@MixingTemp", dr["MixingTemp"]);
localHelper.AddParameter("@MixingEnergy", dr["MixingEnergy"]);
localHelper.AddParameter("@MixingPower", dr["MixingPower"]);
localHelper.AddParameter("@ActionCode", dr["ActionCode"]);
localHelper.AddParameter("@MixingPress", dr["MixingPress"]);
localHelper.AddParameter("@MixingSpeed", dr["MixingSpeed"]);
localHelper.ExecuteNonQuery();
}
#endregion
#region PmtRecipeWeight
serverHelper.CommandType = CommandType.Text;
// sqlstr = @"SELECT
// '' [RecipeObjID]
// ,Equip_Code [RecipeEquipCode]
// ,Recipe_Code [RecipeMaterialCode]
// ,Edt_Code [RecipeVersionID]
// ,Weight_ID [WeightID]
// ,case when [Weight_Type] ='0' then [Weight_Type]
// when [Weight_Type] ='1' then [Weight_Type]
// when [Weight_Type] ='2' then [Weight_Type]
// when [Weight_Type] ='5' then [Weight_Type]
// when [Weight_Type] ='4' then '3'
// when [Weight_Type] ='3' then '4'
// end [WeightType]
// ,Scale_Code [ScaleID]
// ,Act_Code [ActCode]
// ,Mater_Code [MaterialCode]
// ,Mater_Name [MaterialName]
// ,Set_Weight [SetWeight]
// ,Error_Allow [ErrorAllow]
// ,'' [OldSetWeight]
// ,Act_Code [AutoPloy]
// FROM [Pmt_Weight] ";
//如果是胶料(Weight_Type=2)则把Act_code设置为0,把网络库中的Act_code赋值给AutoPloy
sqlstr = @"SELECT
'' [RecipeObjID]
,Equip_Code [RecipeEquipCode]
,Recipe_Code [RecipeMaterialCode]
,Edt_Code [RecipeVersionID]
,Weight_ID [WeightID]
,case when [Weight_Type] ='0' then [Weight_Type]
when [Weight_Type] ='1' then [Weight_Type]
when [Weight_Type] ='2' then [Weight_Type]
when [Weight_Type] ='5' then [Weight_Type]
when [Weight_Type] ='4' then '3'
when [Weight_Type] ='3' then '4'
end [WeightType]
,Scale_Code [ScaleID]
,case when [Weight_Type]='2' then 0 else Act_Code end [ActCode]
,Mater_Code [MaterialCode]
,Mater_Name [MaterialName]
,Set_Weight [SetWeight]
,Error_Allow [ErrorAllow]
,'' [OldSetWeight]
,case when [Weight_Type]='2' then Act_Code else 0 end [AutoPloy]
FROM [Pmt_Weight] ";
sqlstr += " WHERE Equip_Code=@RecipeEquipCode AND Recipe_Code=@RecipeMaterialCode AND Edt_Code=@RecipeVersionID and Weight_Type<6 Order by Weight_Type,Weight_ID ";
serverHelper.CommandText = sqlstr;
serverHelper.ClearParameter();
serverHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode);
serverHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
serverHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
dt = serverHelper.ToDataTable();
if (dt.Rows.Count == 0)
{
throw new Exception(LanguageService.Instance.Read(229));
}
sqlstr = @" insert into pmt_weigh(RecipeObjID,father_code,weight_id,equip_code,edt_code,
act_code,weigh_type,child_code,child_name,set_weight,error_allow,Auto_ploy) values(
@RecipeObjID ,
@RecipeMaterialCode ,
@WeightID ,
@RecipeEquipCode,
@RecipeVersionID ,
@ActCode ,
@WeightType ,
@MaterialCode ,
@MaterialName ,
@SetWeight ,
@ErrorAllow,
@AutoPloy
)";
foreach (DataRow dr in dt.Rows)
{
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@RecipeObjID", localRecipeObjID);
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
localHelper.AddParameter("@WeightID", dr["WeightID"]);
localHelper.AddParameter("@RecipeEquipCode", dr["RecipeEquipCode"].ToString().Substring(3,2).ToString());
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
//localHelper.AddParameter("@ActCode", dr["ActCode"]);
localHelper.AddParameter("@ActCode", Mesnac.Basic.DataProcessor.RowValue(dr,"ActCode",0));
localHelper.AddParameter("@WeightType", dr["WeightType"]);
localHelper.AddParameter("@MaterialCode", dr["MaterialCode"]);
localHelper.AddParameter("@MaterialName", dr["MaterialName"]);
localHelper.AddParameter("@SetWeight", dr["SetWeight"]);
localHelper.AddParameter("@ErrorAllow", dr["ErrorAllow"]);
localHelper.AddParameter("@AutoPloy",dr["AutoPloy"]);
localHelper.ExecuteNonQuery();
}
#endregion
//localHelper.CommitTransaction();
Result = 1;
}
catch (Exception ex)
{
//localHelper.RollbackTransaction();
ICSharpCode.Core.LoggingService.Error(ex.Message, ex);
Result = -1;
}
finally
{
//localHelper.CloseConnection();
}
return Result;
}
///
/// 根据计划号从网络数据库中下载配方数据
///
/// 计划号
/// 成功返回1,失败返回其他值
public int GetRecipeByPlanID(string planid)
{
FeedingAction action = new FeedingAction();
if (action.NetType == BaseAction.NetTypes.Local)
{
ICSharpCode.Core.LoggingService.Error("此系统版本为单机版,不能进行数据同步...");
new BaseAction().ShowMsg(LanguageService.Instance.Read(32));
return 0;
}
int Result = 0;
DbHelper localHelper = new DatabaseAction().NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
//DbHelper serverHelper = new DatabaseAction().NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Server);
//string sqlstr = "SELECT * FROM dbo.PptPlan WHERE PlanID=@PlanID";
string sqlstr = "select plan_id as PlanID,pri_level as PriLevel,mater_code as RecipeMaterialCode,shift_class as ClassID,equip_code as RecipeEquipCode,edt_code as RecipeVersionID,plan_num as PlanNum,real_num as RealNum,plan_state as PlanState,revise_sgn as ReviseSgn,shift as ShiftID,down_date as PlanDate,recipe_code as RecipeMaterialName,plan_weight as PlanWeight,total_weight as TotalWeight,real_weight as RealWeight,real_datetime as RealEndtime,oper_code as OperCode,oper_datetime as OperDatetime,ActionOrder from ppt_plan where plan_id = @PlanID";
localHelper.CommandType = CommandType.Text;
localHelper.CommandText = sqlstr;
localHelper.ClearParameter();
localHelper.AddParameter("@PlanID", planid);
DataTable dt = localHelper.ToDataTable();
string RecipeEquipCode = string.Empty;
string RecipeMaterialCode = string.Empty;
string RecipeVersionID = string.Empty;
foreach (DataRow dr in dt.Rows)
{
RecipeEquipCode = dr["RecipeEquipCode"].ToString();
RecipeMaterialCode = dr["RecipeMaterialCode"].ToString();
RecipeVersionID = dr["RecipeVersionID"].ToString();
Result = DownloadRecipe(RecipeEquipCode, RecipeMaterialCode, RecipeVersionID);
break;
}
return Result;
}
}
}