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.
553 lines
24 KiB
C#
553 lines
24 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Data;
|
|
using Mesnac.Action.Base;
|
|
using Mesnac.Controls.Base;
|
|
using Mesnac.Controls.Default;
|
|
using System.Windows.Forms;
|
|
using Mesnac.Codd.Session;
|
|
using System.IO;
|
|
using System.Xml;
|
|
using System.Xml.Serialization;
|
|
|
|
|
|
namespace Mesnac.Action.Feeding.Technology
|
|
{
|
|
public class NetRecipe
|
|
{
|
|
private int IniBasMaterial(DbHelper localHelper, DbHelper serverHelper, string materialCode)
|
|
{
|
|
int Result = 0;
|
|
#region BasMaterial
|
|
serverHelper.CommandType = CommandType.Text;
|
|
string sqlstr = @"SELECT * FROM dbo.BasMaterial WHERE MaterialCode=@MaterialCode";
|
|
serverHelper.CommandText = sqlstr;
|
|
serverHelper.ClearParameter();
|
|
serverHelper.AddParameter("@MaterialCode", materialCode);
|
|
DataTable dt = serverHelper.ToDataTable();
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
return Result;
|
|
}
|
|
Result = 1;
|
|
sqlstr = @"DELETE FROM dbo.BasMaterial WHERE MaterialCode=@MaterialCode";
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@MaterialCode", materialCode);
|
|
localHelper.ExecuteNonQuery();
|
|
|
|
sqlstr = @"INSERT INTO dbo.BasMaterial
|
|
( MaterialCode ,
|
|
MajorTypeID ,
|
|
MinorTypeID ,
|
|
RubCode ,
|
|
MaterialName ,
|
|
MaterialOtherName ,
|
|
MaterialSimpleName ,
|
|
MaterialLevel ,
|
|
MaterialGroup ,
|
|
ProductMaterialCode ,
|
|
UserCode ,
|
|
PlanPrice ,
|
|
ProductArea ,
|
|
MinStock ,
|
|
MaxStock ,
|
|
UnitID ,
|
|
StaticUnitID ,
|
|
StaticUnitCoefficient ,
|
|
CheckPermitError ,
|
|
MaxParkTime ,
|
|
MinParkTime ,
|
|
DefineDate ,
|
|
StandardCode ,
|
|
StaticClass ,
|
|
IsEqualMaterial ,
|
|
IsPutJar ,
|
|
ERPCode ,
|
|
Remark ,
|
|
DeleteFlag
|
|
) values (
|
|
@MaterialCode ,
|
|
@MajorTypeID ,
|
|
@MinorTypeID ,
|
|
@RubCode ,
|
|
@MaterialName ,
|
|
@MaterialOtherName ,
|
|
@MaterialSimpleName ,
|
|
@MaterialLevel ,
|
|
@MaterialGroup ,
|
|
@ProductMaterialCode ,
|
|
@UserCode ,
|
|
@PlanPrice ,
|
|
@ProductArea ,
|
|
@MinStock ,
|
|
@MaxStock ,
|
|
@UnitID ,
|
|
@StaticUnitID ,
|
|
@StaticUnitCoefficient ,
|
|
@CheckPermitError ,
|
|
@MaxParkTime ,
|
|
@MinParkTime ,
|
|
@DefineDate ,
|
|
@StandardCode ,
|
|
@StaticClass ,
|
|
@IsEqualMaterial ,
|
|
@IsPutJar ,
|
|
@ERPCode ,
|
|
@Remark ,
|
|
@DeleteFlag )";
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("MaterialCode", dr["MaterialCode"]);
|
|
localHelper.AddParameter("MajorTypeID", dr["MajorTypeID"]);
|
|
localHelper.AddParameter("MinorTypeID", dr["MinorTypeID"]);
|
|
localHelper.AddParameter("RubCode", dr["RubCode"]);
|
|
localHelper.AddParameter("MaterialName", dr["MaterialName"]);
|
|
localHelper.AddParameter("MaterialOtherName", dr["MaterialOtherName"]);
|
|
localHelper.AddParameter("MaterialSimpleName", dr["MaterialSimpleName"]);
|
|
localHelper.AddParameter("MaterialLevel", dr["MaterialLevel"]);
|
|
localHelper.AddParameter("MaterialGroup", dr["MaterialGroup"]);
|
|
localHelper.AddParameter("ProductMaterialCode", dr["ProductMaterialCode"]);
|
|
localHelper.AddParameter("UserCode", dr["UserCode"]);
|
|
localHelper.AddParameter("PlanPrice", dr["PlanPrice"]);
|
|
localHelper.AddParameter("ProductArea", dr["ProductArea"]);
|
|
localHelper.AddParameter("MinStock", dr["MinStock"]);
|
|
localHelper.AddParameter("MaxStock", dr["MaxStock"]);
|
|
localHelper.AddParameter("UnitID", dr["UnitID"]);
|
|
localHelper.AddParameter("StaticUnitID", dr["StaticUnitID"]);
|
|
localHelper.AddParameter("StaticUnitCoefficient", dr["StaticUnitCoefficient"]);
|
|
localHelper.AddParameter("CheckPermitError", dr["CheckPermitError"]);
|
|
localHelper.AddParameter("MaxParkTime", dr["MaxParkTime"]);
|
|
localHelper.AddParameter("MinParkTime", dr["MinParkTime"]);
|
|
localHelper.AddParameter("DefineDate", dr["DefineDate"]);
|
|
localHelper.AddParameter("StandardCode", dr["StandardCode"]);
|
|
localHelper.AddParameter("StaticClass", dr["StaticClass"]);
|
|
localHelper.AddParameter("IsEqualMaterial", dr["IsEqualMaterial"]);
|
|
localHelper.AddParameter("IsPutJar", dr["IsPutJar"]);
|
|
localHelper.AddParameter("ERPCode", dr["ERPCode"]);
|
|
localHelper.AddParameter("Remark", dr["Remark"]);
|
|
localHelper.AddParameter("@DeleteFlag", dr["DeleteFlag"]);
|
|
localHelper.ExecuteNonQuery();
|
|
}
|
|
#endregion BasMaterial
|
|
return Result;
|
|
}
|
|
public int GetRecipeByPlanID(string planid)
|
|
{
|
|
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";
|
|
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();
|
|
break;
|
|
}
|
|
localHelper.BeginTransaction();
|
|
try
|
|
{
|
|
Result = IniBasMaterial(localHelper, serverHelper, RecipeMaterialCode);
|
|
if (Result != 1)
|
|
{
|
|
throw new Exception(LanguageService.Instance.Read(226));
|
|
}
|
|
#region PmtRecipe
|
|
serverHelper.CommandType = CommandType.Text;
|
|
|
|
sqlstr = @"SELECT * FROM PmtRecipe WHERE RecipeEquipCode=@RecipeEquipCode AND RecipeMaterialCode=@RecipeMaterialCode AND RecipeVersionID=@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));
|
|
}
|
|
|
|
#region 删除数据
|
|
sqlstr = @"DELETE FROM PmtRecipe WHERE RecipeEquipCode=@RecipeEquipCode AND RecipeMaterialCode=@RecipeMaterialCode AND RecipeVersionID=@RecipeVersionID";
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeEquipCode", RecipeEquipCode);
|
|
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
|
|
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
|
|
localHelper.ExecuteNonQuery();
|
|
sqlstr = @"DELETE FROM PmtRecipeMixing WHERE RecipeMaterialCode=@RecipeMaterialCode AND RecipeVersionID=@RecipeVersionID";
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
|
|
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
|
|
localHelper.ExecuteNonQuery();
|
|
sqlstr = @"DELETE FROM PmtRecipeWeight WHERE RecipeMaterialCode=@RecipeMaterialCode AND RecipeVersionID=@RecipeVersionID";
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeMaterialCode", RecipeMaterialCode);
|
|
localHelper.AddParameter("@RecipeVersionID", RecipeVersionID);
|
|
localHelper.ExecuteNonQuery();
|
|
#endregion
|
|
|
|
|
|
sqlstr = @"INSERT INTO dbo.PmtRecipe
|
|
(RecipeEquipCode ,
|
|
RecipeMaterialCode ,
|
|
RecipeVersionID ,
|
|
RecipeName ,
|
|
RecipeType ,
|
|
RecipeMaterialName ,
|
|
RecipeUserVersion ,
|
|
RecipeState ,
|
|
RecipeDefineDate ,
|
|
RecipeModifyUser ,
|
|
RecipeModifyTime ,
|
|
LotDoneTime ,
|
|
ShelfLotCount ,
|
|
LotTotalWeight ,
|
|
CarbonRecycleType ,
|
|
CarbonRecycleTime ,
|
|
OverTempMinTime ,
|
|
OverTimeSetTime ,
|
|
OverTempSetTemp ,
|
|
InPolyMaxTemp ,
|
|
InPolyMinTemp ,
|
|
InPolySetTime ,
|
|
InCarbonSetTime ,
|
|
InOilSetTime ,
|
|
InPowderSetTime ,
|
|
RollSpeedDiff ,
|
|
RamPressDiff ,
|
|
IsUseAreaTemp ,
|
|
SideTemp ,
|
|
SideTempDiff ,
|
|
RollTemp ,
|
|
RollTempDiff ,
|
|
DdoorTemp ,
|
|
DdoorTempDiff ,
|
|
OperCode ,
|
|
Remark ,
|
|
StartDatetime ,
|
|
EndDatetime ,
|
|
AuditFlag ,
|
|
AuditUser ,
|
|
AuditDateTime ,
|
|
RecipeDic ,
|
|
StayTimeSpand ,
|
|
RearchCode ,
|
|
CanAuditUser ,
|
|
MakeUpTemp ,
|
|
NewFlag
|
|
) values (
|
|
@RecipeEquipCode ,
|
|
@RecipeMaterialCode ,
|
|
@RecipeVersionID ,
|
|
@RecipeName ,
|
|
@RecipeType ,
|
|
@RecipeMaterialName ,
|
|
@RecipeUserVersion ,
|
|
@RecipeState ,
|
|
@RecipeDefineDate ,
|
|
@RecipeModifyUser ,
|
|
@RecipeModifyTime ,
|
|
@LotDoneTime ,
|
|
@ShelfLotCount ,
|
|
@LotTotalWeight ,
|
|
@CarbonRecycleType ,
|
|
@CarbonRecycleTime ,
|
|
@OverTempMinTime ,
|
|
@OverTimeSetTime ,
|
|
@OverTempSetTemp ,
|
|
@InPolyMaxTemp ,
|
|
@InPolyMinTemp ,
|
|
@InPolySetTime ,
|
|
@InCarbonSetTime ,
|
|
@InOilSetTime ,
|
|
@InPowderSetTime ,
|
|
@RollSpeedDiff ,
|
|
@RamPressDiff ,
|
|
@IsUseAreaTemp ,
|
|
@SideTemp ,
|
|
@SideTempDiff ,
|
|
@RollTemp ,
|
|
@RollTempDiff ,
|
|
@DdoorTemp ,
|
|
@DdoorTempDiff ,
|
|
@OperCode ,
|
|
@Remark ,
|
|
@StartDatetime ,
|
|
@EndDatetime ,
|
|
@AuditFlag ,
|
|
@AuditUser ,
|
|
@AuditDateTime ,
|
|
@RecipeDic ,
|
|
@StayTimeSpand ,
|
|
@RearchCode ,
|
|
@CanAuditUser ,
|
|
@MakeUpTemp ,
|
|
@NewFlag );SELECT SCOPE_IDENTITY();";
|
|
string serverRecipeObjID = string.Empty;
|
|
string localRecipeObjID = string.Empty;
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
serverRecipeObjID = dr["ObjID"].ToString();
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeEquipCode", dr["RecipeEquipCode"]);
|
|
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
|
|
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
|
|
localHelper.AddParameter("@RecipeName", dr["RecipeName"]);
|
|
localHelper.AddParameter("@RecipeType", dr["RecipeType"]);
|
|
localHelper.AddParameter("@RecipeMaterialName", dr["RecipeMaterialName"]);
|
|
localHelper.AddParameter("@RecipeUserVersion", dr["RecipeUserVersion"]);
|
|
localHelper.AddParameter("@RecipeState", dr["RecipeState"]);
|
|
localHelper.AddParameter("@RecipeDefineDate", dr["RecipeDefineDate"]);
|
|
localHelper.AddParameter("@RecipeModifyUser", dr["RecipeModifyUser"]);
|
|
localHelper.AddParameter("@RecipeModifyTime", dr["RecipeModifyTime"]);
|
|
localHelper.AddParameter("@LotDoneTime", dr["LotDoneTime"]);
|
|
localHelper.AddParameter("@ShelfLotCount", dr["ShelfLotCount"]);
|
|
localHelper.AddParameter("@LotTotalWeight", dr["LotTotalWeight"]);
|
|
localHelper.AddParameter("@CarbonRecycleType", dr["CarbonRecycleType"]);
|
|
localHelper.AddParameter("@CarbonRecycleTime", dr["CarbonRecycleTime"]);
|
|
localHelper.AddParameter("@OverTempMinTime", dr["OverTempMinTime"]);
|
|
localHelper.AddParameter("@OverTimeSetTime", dr["OverTimeSetTime"]);
|
|
localHelper.AddParameter("@OverTempSetTemp", dr["OverTempSetTemp"]);
|
|
localHelper.AddParameter("@InPolyMaxTemp", dr["InPolyMaxTemp"]);
|
|
localHelper.AddParameter("@InPolyMinTemp", dr["InPolyMinTemp"]);
|
|
localHelper.AddParameter("@InPolySetTime", dr["InPolySetTime"]);
|
|
localHelper.AddParameter("@InCarbonSetTime", dr["InCarbonSetTime"]);
|
|
localHelper.AddParameter("@InOilSetTime", dr["InOilSetTime"]);
|
|
localHelper.AddParameter("@InPowderSetTime", dr["InPowderSetTime"]);
|
|
localHelper.AddParameter("@RollSpeedDiff", dr["RollSpeedDiff"]);
|
|
localHelper.AddParameter("@RamPressDiff", dr["RamPressDiff"]);
|
|
localHelper.AddParameter("@IsUseAreaTemp", dr["IsUseAreaTemp"]);
|
|
localHelper.AddParameter("@SideTemp", dr["SideTemp"]);
|
|
localHelper.AddParameter("@SideTempDiff", dr["SideTempDiff"]);
|
|
localHelper.AddParameter("@RollTemp", dr["RollTemp"]);
|
|
localHelper.AddParameter("@RollTempDiff", dr["RollTempDiff"]);
|
|
localHelper.AddParameter("@DdoorTemp", dr["DdoorTemp"]);
|
|
localHelper.AddParameter("@DdoorTempDiff", dr["DdoorTempDiff"]);
|
|
localHelper.AddParameter("@OperCode", dr["OperCode"]);
|
|
localHelper.AddParameter("@Remark", dr["Remark"]);
|
|
localHelper.AddParameter("@StartDatetime", dr["StartDatetime"]);
|
|
localHelper.AddParameter("@EndDatetime", dr["EndDatetime"]);
|
|
localHelper.AddParameter("@AuditFlag", dr["AuditFlag"]);
|
|
localHelper.AddParameter("@AuditUser", dr["AuditUser"]);
|
|
localHelper.AddParameter("@AuditDateTime", dr["AuditDateTime"]);
|
|
localHelper.AddParameter("@RecipeDic", dr["RecipeDic"]);
|
|
localHelper.AddParameter("@StayTimeSpand", dr["StayTimeSpand"]);
|
|
localHelper.AddParameter("@RearchCode", dr["RearchCode"]);
|
|
localHelper.AddParameter("@CanAuditUser", dr["CanAuditUser"]);
|
|
localHelper.AddParameter("@MakeUpTemp", dr["MakeUpTemp"]);
|
|
localHelper.AddParameter("@NewFlag", dr["NewFlag"]);
|
|
localRecipeObjID = localHelper.ToScalar().ToString();
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
#region PmtRecipeMixing
|
|
serverHelper.CommandType = CommandType.Text;
|
|
sqlstr = @"SELECT * FROM PmtRecipeMixing WHERE RecipeObjID=@RecipeObjID";
|
|
serverHelper.CommandText = sqlstr;
|
|
serverHelper.ClearParameter();
|
|
serverHelper.AddParameter("@RecipeObjID", serverRecipeObjID);
|
|
dt = serverHelper.ToDataTable();
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
throw new Exception(LanguageService.Instance.Read(228));
|
|
}
|
|
sqlstr = @"INSERT INTO dbo.PmtRecipeMixing
|
|
( RecipeObjID ,
|
|
RecipeMaterialCode ,
|
|
RecipeVersionID ,
|
|
MixingStep ,
|
|
TermCode ,
|
|
MixingTime ,
|
|
MixingTemp ,
|
|
MixingEnergy ,
|
|
MixingPower ,
|
|
MixingPress ,
|
|
MixingSpeed ,
|
|
ActionCode
|
|
) values (
|
|
@RecipeObjID ,
|
|
@RecipeMaterialCode ,
|
|
@RecipeVersionID ,
|
|
@MixingStep ,
|
|
@TermCode ,
|
|
@MixingTime ,
|
|
@MixingTemp ,
|
|
@MixingEnergy ,
|
|
@MixingPower ,
|
|
@MixingPress ,
|
|
@MixingSpeed ,
|
|
@ActionCode )";
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeObjID", localRecipeObjID);
|
|
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
|
|
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
|
|
localHelper.AddParameter("@MixingStep", dr["MixingStep"]);
|
|
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("@MixingPress", dr["MixingPress"]);
|
|
localHelper.AddParameter("@MixingSpeed", dr["MixingSpeed"]);
|
|
localHelper.AddParameter("@ActionCode", dr["ActionCode"]);
|
|
localHelper.ExecuteNonQuery();
|
|
}
|
|
#endregion
|
|
|
|
#region PmtRecipeWeight
|
|
serverHelper.CommandType = CommandType.Text;
|
|
sqlstr = @"SELECT * FROM PmtRecipeWeight WHERE RecipeObjID=@RecipeObjID";
|
|
serverHelper.CommandText = sqlstr;
|
|
serverHelper.ClearParameter();
|
|
serverHelper.AddParameter("@RecipeObjID", serverRecipeObjID);
|
|
dt = serverHelper.ToDataTable();
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
throw new Exception(LanguageService.Instance.Read(229));
|
|
}
|
|
sqlstr = @"INSERT INTO dbo.PmtRecipeWeight
|
|
( RecipeObjID ,
|
|
RecipeMaterialCode ,
|
|
RecipeVersionID ,
|
|
WeightID ,
|
|
WeightType ,
|
|
ScaleID ,
|
|
ActCode ,
|
|
MaterialCode ,
|
|
MaterialName ,
|
|
SetWeight ,
|
|
OldSetWeight ,
|
|
ErrorAllow
|
|
) values (
|
|
@RecipeObjID ,
|
|
@RecipeMaterialCode ,
|
|
@RecipeVersionID ,
|
|
@WeightID ,
|
|
@WeightType ,
|
|
@ScaleID ,
|
|
@ActCode ,
|
|
@MaterialCode ,
|
|
@MaterialName ,
|
|
@SetWeight ,
|
|
@OldSetWeight ,
|
|
@ErrorAllow )";
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
localHelper.CommandText = sqlstr;
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@RecipeObjID", localRecipeObjID);
|
|
localHelper.AddParameter("@RecipeMaterialCode", dr["RecipeMaterialCode"]);
|
|
localHelper.AddParameter("@RecipeVersionID", dr["RecipeVersionID"]);
|
|
localHelper.AddParameter("@WeightID", dr["WeightID"]);
|
|
localHelper.AddParameter("@WeightType", dr["WeightType"]);
|
|
localHelper.AddParameter("@ScaleID", dr["ScaleID"]);
|
|
localHelper.AddParameter("@ActCode", dr["ActCode"]);
|
|
localHelper.AddParameter("@MaterialCode", dr["MaterialCode"]);
|
|
localHelper.AddParameter("@MaterialName", dr["MaterialName"]);
|
|
localHelper.AddParameter("@SetWeight", dr["SetWeight"]);
|
|
localHelper.AddParameter("@OldSetWeight", dr["OldSetWeight"]);
|
|
localHelper.AddParameter("@ErrorAllow", dr["ErrorAllow"]);
|
|
localHelper.ExecuteNonQuery();
|
|
IniBasMaterial(localHelper, serverHelper, dr["MaterialCode"].ToString());
|
|
}
|
|
#endregion
|
|
localHelper.CommitTransaction();
|
|
Result = 1;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
localHelper.RollbackTransaction();
|
|
Result = -1;
|
|
}
|
|
finally
|
|
{
|
|
localHelper.CloseConnection();
|
|
}
|
|
return Result;
|
|
}
|
|
}
|
|
|
|
public class PLCRecipe
|
|
{
|
|
private DbHelper localHelper = new DatabaseAction().NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.local);
|
|
public int SendRecipe(string RecipeObjID)
|
|
{
|
|
int iResult = 0;
|
|
localHelper.CommandType = CommandType.Text;
|
|
localHelper.CommandText = "UPDATE SysKeyValue SET ssValue = " + RecipeObjID + " WHERE ssKey='RecipeID'";
|
|
localHelper.ExecuteNonQuery();
|
|
localHelper.CommandText = "UPDATE SysKeyValue SET ssValue = t.RecipeMaterialName FROM dbo.PmtRecipe t WHERE ssKey='RecipeMixingName' AND t.ObjID=" + RecipeObjID;
|
|
localHelper.ExecuteNonQuery();
|
|
localHelper.CommandText = "SELECT ssRemark FROM dbo.SysKeyValue WHERE ssKey='RecipeMixing'";
|
|
string sqlstr = localHelper.ToScalar().ToString();
|
|
sqlstr = string.Format(sqlstr, RecipeObjID);
|
|
|
|
localHelper.CommandText = sqlstr;
|
|
DataTable dt = localHelper.ToDataTable();
|
|
dt.TableName = "tableName";
|
|
string xml = SerializeDataTable(dt);
|
|
|
|
|
|
localHelper.CommandText = "INSERT INTO dbo.PmtRecipeMixingXml(RecipeID, DataXml) VALUES (@RecipeID,@DataXml);SELECT SCOPE_IDENTITY();";
|
|
localHelper.AddParameter("@RecipeID", RecipeObjID);
|
|
localHelper.AddParameter("@DataXml", xml);
|
|
sqlstr = localHelper.ToScalar().ToString();
|
|
|
|
localHelper.CommandText = "UPDATE SysKeyValue SET ssValue =@ssValue WHERE ssKey='RecipeMixing'";
|
|
localHelper.ClearParameter();
|
|
localHelper.AddParameter("@ssValue", sqlstr);
|
|
localHelper.ExecuteNonQuery();
|
|
return iResult;
|
|
}
|
|
|
|
private string SerializeDataTable(DataTable dt)
|
|
{
|
|
StringWriter strWriter = new StringWriter();
|
|
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
|
|
serializer.Serialize(strWriter, dt);
|
|
return strWriter.ToString();
|
|
}
|
|
|
|
private string GetRecipeObjID(string planid)
|
|
{
|
|
string Result = string.Empty;
|
|
localHelper.CommandType = CommandType.Text;
|
|
localHelper.CommandText = @"SELECT t2.ObjID FROM dbo.PptPlan t1
|
|
INNER JOIN dbo.PmtRecipe t2 ON t1.RecipeEquipCode=t2.RecipeEquipCode
|
|
AND t2.RecipeMaterialCode=t2.RecipeMaterialCode AND t1.RecipeVersionID=t2.RecipeVersionID
|
|
WHERE t1.PlanID='" + planid + "'";
|
|
return localHelper.ToScalar().ToString();
|
|
}
|
|
public int SendPlan(string planid)
|
|
{
|
|
int iResult = 0;
|
|
string recipeid = GetRecipeObjID(planid);
|
|
SendRecipe(recipeid);
|
|
new FeedingPlc.RecipeToPlc().Run(null);
|
|
return iResult;
|
|
}
|
|
}
|
|
}
|