|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|