You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

527 lines
28 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
{
/// <summary>
/// 从网络上下载配方数据
/// </summary>
public class NetRecipe
{
/// <summary>
/// 从网络数据库中下载配方数据
/// 2014 4-15 称量表中添加Auto_Ploy字段自动导开方式胶料使用
/// </summary>
/// <param name="planid">计划号</param>
/// <returns>成功返回1失败返回其他值</returns>
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;
}
/// <summary>
/// 根据计划号从网络数据库中下载配方数据
/// </summary>
/// <param name="planid">计划号</param>
/// <returns>成功返回1失败返回其他值</returns>
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;
}
}
}